test package

Subpackages

Submodules

test.audiotests module

class test.audiotests.AudioTests[source]

Bases: object

check_params(f, nchannels, sampwidth, framerate, nframes, comptype, compname)[source]
close_fd = False
setUp()[source]
tearDown()[source]
class test.audiotests.AudioTestsWithSourceFile[source]

Bases: test.audiotests.AudioTests

classmethod setUpClass()[source]
test_close()[source]
test_copy()[source]
test_read()[source]
test_read_not_from_start()[source]
test_read_params()[source]
class test.audiotests.AudioWriteTests[source]

Bases: test.audiotests.AudioTests

check_file(testfile, nframes, frames)[source]
create_file(testfile)[source]
test_context_manager_with_filename()[source]
test_context_manager_with_open_file()[source]
test_incompleted_write()[source]
test_multiple_writes()[source]
test_overflowed_write()[source]
test_unseekable_incompleted_write()[source]
test_unseekable_overflowed_write()[source]
test_unseekable_read()[source]
test_unseekable_write()[source]
test_write()[source]
test_write_array()[source]
test_write_bytearray()[source]
test_write_context_manager_calls_close()[source]
test_write_memoryview()[source]
test_write_params()[source]
class test.audiotests.UnseekableIO[source]

Bases: _io.FileIO

seek(*args, **kwargs)[source]
tell()[source]

test.autotest module

test.bad_coding module

test.bad_coding2 module

test.badsyntax_3131 module

test.badsyntax_future10 module

test.badsyntax_future3 module

test.badsyntax_future4 module

test.badsyntax_future5 module

test.badsyntax_future6 module

test.badsyntax_future7 module

test.badsyntax_future8 module

test.badsyntax_future9 module

test.badsyntax_pep3120 module

test.buffer_tests module

class test.buffer_tests.MixinBytesBufferCommonTests[source]

Bases: object

Tests that work for both bytes and buffer objects. See PEP 3137.

marshal(x)[source]

Convert x into the appropriate type for these tests.

test_capitalize()[source]
test_center()[source]
test_expandtabs()[source]
test_isalnum()[source]
test_isalpha()[source]
test_isdigit()[source]
test_islower()[source]
test_isspace()[source]
test_istitle()[source]
test_isupper()[source]
test_ljust()[source]
test_lower()[source]
test_rjust()[source]
test_splitlines()[source]
test_swapcase()[source]
test_title()[source]
test_upper()[source]
test_zfill()[source]

test.bytecode_helper module

bytecode_helper - support tools for testing correct bytecode generation

class test.bytecode_helper.BytecodeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Custom assertion methods for inspecting bytecode.

assertInBytecode(x, opname, argval=<object object at 0x081C4CC0>)[source]

Returns instr if op is found, otherwise throws AssertionError

assertNotInBytecode(x, opname, argval=<object object at 0x081C4CC0>)[source]

Throws AssertionError if op is found

get_disassembly_as_string(co)[source]

test.coding20731 module

test.curses_tests module

test.datetimetester module

Test date/time type.

See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases

class test.datetimetester.FixedOffset(offset, name, dstoffset=42)[source]

Bases: datetime.tzinfo

dst(dt)[source]
tzname(dt)[source]
utcoffset(dt)[source]
class test.datetimetester.HarmlessMixedComparison[source]

Bases: object

test_harmful_mixed_comparison()[source]
test_harmless_mixed_comparison()[source]
class test.datetimetester.Oddballs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug_1028306()[source]
class test.datetimetester.PicklableFixedOffset(offset=None, name=None, dstoffset=None)[source]

Bases: test.datetimetester.FixedOffset

class test.datetimetester.SubclassDate[source]

Bases: datetime.date

sub_var = 1
class test.datetimetester.SubclassDatetime[source]

Bases: datetime.datetime

sub_var = 1
class test.datetimetester.SubclassTime[source]

Bases: datetime.time

sub_var = 1
class test.datetimetester.TZInfoBase[source]

Bases: object

test_argument_passing()[source]
test_aware_compare()[source]
test_bad_tzinfo_classes()[source]
test_tzinfo_classes()[source]
test_utc_offset_out_of_bounds()[source]
class test.datetimetester.TestDate(methodName='runTest')[source]

Bases: test.datetimetester.HarmlessMixedComparison, unittest.case.TestCase

test_backdoor_resistance()[source]
test_bad_constructor_arguments()[source]
test_basic_attributes()[source]
test_bool()[source]
test_compare()[source]
test_computations()[source]
test_ctime()[source]
test_extreme_ordinals()[source]
test_extreme_timedelta()[source]
test_format()[source]
test_fromtimestamp()[source]
test_hash_equality()[source]
test_insane_fromtimestamp()[source]
test_iso_long_years()[source]
test_isocalendar()[source]
test_isoformat()[source]
test_mixed_compare()[source]
test_ordinal_conversions()[source]
test_overflow()[source]
test_pickling()[source]
test_pickling_subclass_date()[source]
test_replace()[source]
test_resolution_info()[source]
test_roundtrip()[source]
test_strftime()[source]
test_strftime_y2k()[source]
test_subclass_date()[source]
test_timetuple()[source]
test_today()[source]
test_weekday()[source]
theclass

alias of date

class test.datetimetester.TestDateOnly(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_delta_non_days_ignored()[source]
class test.datetimetester.TestDateTime(methodName='runTest')[source]

Bases: test.datetimetester.TestDate

test_astimezone()[source]
test_bad_constructor_arguments()[source]
test_basic_attributes()[source]
test_basic_attributes_nonzero()[source]
test_combine()[source]
test_computations()[source]
test_extract()[source]
test_format()[source]
test_fromtimestamp()[source]
test_hash_equality()[source]
test_insane_fromtimestamp()[source]
test_insane_utcfromtimestamp()[source]
test_isoformat()[source]
test_microsecond_rounding()[source]
test_more_compare()[source]
test_more_ctime()[source]
test_more_pickling()[source]
test_more_strftime()[source]
test_more_timetuple()[source]
test_negative_float_fromtimestamp()[source]
test_negative_float_utcfromtimestamp()[source]
test_pickling()[source]
test_pickling_subclass_datetime()[source]
test_replace()[source]
test_roundtrip()[source]
test_strftime_with_bad_tzname_replace()[source]
test_strptime()[source]
test_subclass_datetime()[source]
test_timestamp_aware()[source]
test_timestamp_naive(*args, **kwds)
test_tz_independent_comparing()[source]
test_utcfromtimestamp()[source]
test_utcnow()[source]
theclass

alias of datetime

verify_field_equality(expected, got)[source]
class test.datetimetester.TestDateTimeTZ(methodName='runTest')[source]

Bases: test.datetimetester.TestDateTime, test.datetimetester.TZInfoBase, unittest.case.TestCase

test_astimezone_default_eastern(*args, **kwds)
test_astimezone_default_utc(*args, **kwds)
test_aware_subtract()[source]
test_combine()[source]
test_even_more_compare()[source]
test_extract()[source]
test_extreme_hashes()[source]
test_mixed_compare()[source]
test_more_astimezone()[source]
test_pickling()[source]
test_replace()[source]
test_subclass_datetimetz()[source]
test_trivial()[source]
test_tz_aware_arithmetic()[source]
test_tzinfo_fromtimestamp()[source]
test_tzinfo_isoformat()[source]
test_tzinfo_now()[source]
test_tzinfo_timetuple()[source]
test_tzinfo_utcfromtimestamp()[source]
test_tzinfo_utcnow()[source]
test_utctimetuple()[source]
test_zones()[source]
theclass

alias of datetime

class test.datetimetester.TestModule(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constants()[source]
class test.datetimetester.TestSubclassDateTime(methodName='runTest')[source]

Bases: test.datetimetester.TestDateTime

test_roundtrip()[source]
theclass

alias of SubclassDatetime

class test.datetimetester.TestTZInfo(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_non_abstractness()[source]
test_normal()[source]
test_pickling_base()[source]
test_pickling_subclass()[source]
test_refcnt_crash_bug_22044()[source]
test_subclass_must_override()[source]
class test.datetimetester.TestTime(methodName='runTest')[source]

Bases: test.datetimetester.HarmlessMixedComparison, unittest.case.TestCase

test_1653736()[source]
test_backdoor_resistance()[source]
test_bad_constructor_arguments()[source]
test_basic_attributes()[source]
test_basic_attributes_nonzero()[source]
test_bool()[source]
test_comparing()[source]
test_format()[source]
test_hash_equality()[source]
test_isoformat()[source]
test_pickling()[source]
test_pickling_subclass_time()[source]
test_replace()[source]
test_repr()[source]
test_resolution_info()[source]
test_roundtrip()[source]
test_str()[source]
test_strftime()[source]
test_subclass_time()[source]
theclass

alias of time

class test.datetimetester.TestTimeDelta(methodName='runTest')[source]

Bases: test.datetimetester.HarmlessMixedComparison, unittest.case.TestCase

test_basic_attributes()[source]
test_bool()[source]
test_carries()[source]
test_compare()[source]
test_computations()[source]
test_constructor()[source]
test_disallowed_computations()[source]
test_disallowed_special()[source]
test_division()[source]
test_divmod()[source]
test_hash_equality()[source]
test_massive_normalization()[source]
test_microsecond_rounding()[source]
test_overflow()[source]
test_pickling()[source]
test_remainder()[source]
test_repr()[source]
test_resolution_info()[source]
test_roundtrip()[source]
test_str()[source]
test_subclass_timedelta()[source]
test_total_seconds()[source]
theclass

alias of timedelta

class test.datetimetester.TestTimeTZ(methodName='runTest')[source]

Bases: test.datetimetester.TestTime, test.datetimetester.TZInfoBase, unittest.case.TestCase

test_empty()[source]
test_hash_edge_cases()[source]
test_mixed_compare()[source]
test_more_bool()[source]
test_pickling()[source]
test_replace()[source]
test_subclass_timetz()[source]
test_zones()[source]
theclass

alias of time

class test.datetimetester.TestTimeZone(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_aware_datetime()[source]
test_class_members()[source]
test_comparison()[source]
test_constructor()[source]
test_dst()[source]
test_fromutc()[source]
test_inheritance()[source]
test_repr()[source]
test_str()[source]
test_tzname()[source]
test_utcoffset()[source]
class test.datetimetester.TestTimezoneConversions(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkinside(dt, tz, utc, dston, dstoff)[source]
checkoutside(dt, tz, utc)[source]
convert_between_tz_and_utc(tz, utc)[source]
dstoff = datetime.datetime(2002, 10, 27, 1, 0)
dston = datetime.datetime(2002, 4, 7, 2, 0)
test_bogus_dst()[source]
test_easy()[source]
test_fromutc()[source]
test_tricky()[source]
theclass

alias of datetime

class test.datetimetester.USTimeZone(hours, reprname, stdname, dstname)[source]

Bases: datetime.tzinfo

dst(dt)[source]
tzname(dt)[source]
utcoffset(dt)[source]
test.datetimetester.first_sunday_on_or_after(dt)[source]
test.datetimetester.test_main()[source]

test.dis_module module

test.dis_module.f()[source]
test.dis_module.g()[source]

test.doctest_aliases module

class test.doctest_aliases.TwoNames[source]

Bases: object

f() and g() are two names for the same method

f()[source]
>>> print(TwoNames().f())
f
g()
>>> print(TwoNames().f())
f

test.double_const module

test.double_const.check_ok(x, x_str)[source]

test.final_a module

Fodder for module finalization tests in test_module.

class test.final_a.C[source]

Bases: object

test.final_b module

Fodder for module finalization tests in test_module.

class test.final_b.C[source]

Bases: object

test.fork_wait module

This test case provides support for checking forking and wait behavior.

To test different wait behavior, override the wait_impl method.

We want fork1() semantics – only the forking thread survives in the child after a fork().

On some systems (e.g. Solaris without posix threads) we find that all active threads survive in the child after a fork(); this is an error.

class test.fork_wait.ForkWait(methodName='runTest')[source]

Bases: unittest.case.TestCase

f(id)[source]
setUp()[source]
test_wait()[source]
wait_impl(cpid)[source]

test.future_test1 module

This is a test

test.future_test1.f(x)[source]

test.future_test2 module

This is a test

test.future_test2.f(x)[source]

test.gdb_sample module

test.gdb_sample.bar(a, b, c)[source]
test.gdb_sample.baz(*args)[source]
test.gdb_sample.foo(a, b, c)[source]

test.inspect_fodder module

A module docstring.

class test.inspect_fodder.FesteringGob[source]

Bases: test.inspect_fodder.MalodorousPervert, test.inspect_fodder.ParrotDroppings

class test.inspect_fodder.MalodorousPervert[source]

Bases: test.inspect_fodder.StupidGit

class test.inspect_fodder.ParrotDroppings[source]

Bases: object

class test.inspect_fodder.StupidGit[source]

Bases: object

A longer,

indented

docstring.

abuse(a, b, c)[source]

Another

docstring

containing

tabs

argue(a, b, c)[source]
test.inspect_fodder.Tit

alias of MalodorousPervert

test.inspect_fodder.eggs(x, y)[source]

A docstring.

test.inspect_fodder.spam(a, b, c, d=3, e=4, f=5, *g, **h)[source]

test.inspect_fodder2 module

test.inspect_fodder2.annotated(arg1: list)[source]
test.inspect_fodder2.anonymous(x, y)
class test.inspect_fodder2.cls82[source]

Bases: object

func83()[source]
test.inspect_fodder2.f()[source]
test.inspect_fodder2.func69()[source]
test.inspect_fodder2.func77()[source]
test.inspect_fodder2.func88()[source]
test.inspect_fodder2.gone()[source]
test.inspect_fodder2.keyword_only_arg(*, arg)[source]
test.inspect_fodder2.keyworded(*arg1, arg2=1)[source]
test.inspect_fodder2.manyargs(arg1, arg2, arg3, arg4)[source]
test.inspect_fodder2.method_in_dynamic_class()

doc

test.inspect_fodder2.oll(m)
test.inspect_fodder2.onelinefunc()[source]
test.inspect_fodder2.replace(func)[source]
test.inspect_fodder2.setfunc(func)[source]
test.inspect_fodder2.tll(g)
test.inspect_fodder2.tlli(d)
test.inspect_fodder2.twolinefunc(m)[source]
test.inspect_fodder2.with_comment()[source]
test.inspect_fodder2.wrap(foo=None)[source]
test.inspect_fodder2.wrapped()[source]

test.list_tests module

Tests common to list and UserList.UserList

class test.list_tests.CommonTest(methodName='runTest')[source]

Bases: test.seq_tests.CommonTest

test_append()[source]
test_clear()[source]
test_constructor_exception_handling()[source]
test_copy()[source]
test_count()[source]
test_delitem()[source]
test_delslice()[source]
test_extend()[source]
test_extendedslicing()[source]
test_iadd()[source]
test_imul()[source]
test_index()[source]
test_init()[source]
test_insert()[source]
test_pop()[source]
test_print()[source]
test_remove()[source]
test_repr()[source]
test_reverse()[source]
test_reversed()[source]
test_set_subscript()[source]
test_setitem()[source]
test_setslice()[source]
test_slice()[source]
test_sort()[source]

test.lock_tests module

Various tests for synchronization primitives.

class test.lock_tests.BarrierTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseTestCase

Tests for Barrier objects.

N = 5
defaultTimeout = 2.0
multipass(results, n)[source]
run_threads(f)[source]
setUp()[source]
tearDown()[source]
test_abort()[source]

Test that an abort will put the barrier in a broken state

test_abort_and_reset()[source]

Test that a barrier can be reset after being broken.

test_action()[source]

Test the ‘action’ callback

test_barrier(passes=1)[source]

Test that a barrier is passed in lockstep

test_barrier_10()[source]

Test that a barrier works for 10 consecutive runs

test_default_timeout()[source]

Test the barrier’s default timeout

test_reset()[source]

Test that a ‘reset’ on a barrier frees the waiting threads

test_single_thread()[source]
test_timeout()[source]

Test wait(timeout)

test_wait_return()[source]

test the return value from barrier.wait

class test.lock_tests.BaseLockTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseTestCase

Tests for both recursive and non-recursive locks.

test_acquire_contended()[source]
test_acquire_destroy()[source]
test_acquire_release()[source]
test_constructor()[source]
test_repr()[source]
test_thread_leak()[source]
test_timeout()[source]
test_try_acquire()[source]
test_try_acquire_contended()[source]
test_with()[source]
class test.lock_tests.BaseSemaphoreTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseTestCase

Common tests for {bounded, unbounded} semaphore objects.

test_acquire()[source]
test_acquire_contended()[source]
test_acquire_destroy()[source]
test_acquire_timeout()[source]
test_constructor()[source]
test_default_value()[source]
test_try_acquire()[source]
test_try_acquire_contended()[source]
test_with()[source]
class test.lock_tests.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertTimeout(actual, expected)[source]
setUp()[source]
tearDown()[source]
class test.lock_tests.BoundedSemaphoreTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseSemaphoreTests

Tests for bounded semaphores.

test_release_unacquired()[source]
class test.lock_tests.Bunch(f, n, wait_before_exit=False)[source]

Bases: object

A bunch of threads.

do_finish()[source]
wait_for_finished()[source]
wait_for_started()[source]
class test.lock_tests.ConditionTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseTestCase

Tests for condition variables.

test_acquire()[source]
test_notify()[source]
test_timeout()[source]
test_unacquired_notify()[source]
test_unacquired_wait()[source]
test_waitfor()[source]
test_waitfor_timeout()[source]
class test.lock_tests.EventTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseTestCase

Tests for Event objects.

test_is_set()[source]
test_notify()[source]
test_set_and_clear()[source]
test_timeout()[source]
class test.lock_tests.LockTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseLockTests

Tests for non-recursive, weak locks (which can be acquired and released from different threads).

test_different_thread()[source]
test_reacquire()[source]
test_state_after_timeout()[source]
class test.lock_tests.RLockTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseLockTests

Tests for recursive locks.

test__is_owned()[source]
test_different_thread()[source]
test_reacquire()[source]
test_release_save_unacquired()[source]
test_release_unacquired()[source]
class test.lock_tests.SemaphoreTests(methodName='runTest')[source]

Bases: test.lock_tests.BaseSemaphoreTests

Tests for unbounded semaphores.

test_release_unacquired()[source]

test.make_ssl_certs module

Make the custom certificate and private key files used by test_ssl and friends.

test.make_ssl_certs.make_ca()[source]
test.make_ssl_certs.make_cert_key(hostname, sign=False)[source]
test.make_ssl_certs.unmake_ca()[source]

test.mapping_tests module

class test.mapping_tests.BasicTestMappingProtocol(*args, **kw)[source]

Bases: unittest.case.TestCase

test_bool()[source]
test_constructor()[source]
test_get()[source]
test_getitem()[source]
test_items()[source]
test_keys()[source]
test_len()[source]
test_pop()[source]
test_popitem()[source]
test_read()[source]
test_setdefault()[source]
test_update()[source]
test_values()[source]
test_write()[source]
type2test = None
class test.mapping_tests.TestHashMappingProtocol(*args, **kw)[source]

Bases: test.mapping_tests.TestMappingProtocol

test_eq()[source]
test_fromkeys()[source]
test_getitem()[source]
test_mutatingiteration()[source]
test_pop()[source]
test_repr()[source]
test_setdefault()[source]
class test.mapping_tests.TestMappingProtocol(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

test_bool()[source]
test_clear()[source]
test_constructor()[source]
test_contains()[source]
test_copy()[source]
test_fromkeys()[source]
test_get()[source]
test_getitem()[source]
test_items()[source]
test_keys()[source]
test_len()[source]
test_pop()[source]
test_popitem()[source]
test_setdefault()[source]
test_update()[source]
test_values()[source]

test.memory_watchdog module

test.mock_socket module

Mock socket module used by the smtpd and smtplib tests.

class test.mock_socket.MockFile(lines)[source]

Bases: object

Mock file object returned by MockSocket.makefile().

close()[source]
readline(limit=-1)[source]
class test.mock_socket.MockSocket[source]

Bases: object

Mock socket object used by smtpd and smtplib tests.

accept()[source]
bind(address)[source]
close()[source]
fileno()[source]
getpeername()[source]
getsockname()[source]
getsockopt(level, optname, buflen=None)[source]
gettimeout()[source]
listen(backlog)[source]
makefile(mode='r', bufsize=-1)[source]
queue_recv(line)[source]
recv(bufsize, flags=None)[source]
send(data, flags=None)[source]
sendall(buffer, flags=None)[source]
setblocking(flag)[source]
setsockopt(level, optname, value)[source]
settimeout(timeout)[source]
test.mock_socket.create_connection(address, timeout=<object object at 0x00160DB8>, source_address=None)[source]
test.mock_socket.getdefaulttimeout()[source]
test.mock_socket.getfqdn()[source]
test.mock_socket.gethostbyname(name)[source]
test.mock_socket.gethostname()[source]
test.mock_socket.reply_with(line)[source]
test.mock_socket.setdefaulttimeout(timeout)[source]
test.mock_socket.socket(family=None, type=None, proto=None)[source]

test.mp_fork_bomb module

test.multibytecodec_support module

class test.multibytecodec_support.TestBase[source]

Bases: object

codec = None
codectests = None
encoding = ''
has_iso10646 = 0
roundtriptest = 1
setUp()[source]
test_callback_None_index()[source]
test_callback_backward_index()[source]
test_callback_forward_index()[source]
test_callback_index_outofbound()[source]
test_callback_long_index()[source]
test_callback_returns_bytes()[source]
test_callback_wrong_objects()[source]
test_chunkcoding()[source]
test_customreplace_encode()[source]
test_errorhandle()[source]
test_incrementaldecoder()[source]
test_incrementalencoder()[source]
test_incrementalencoder_error_callback()[source]
test_streamreader()[source]
test_streamwriter()[source]
test_xmlcharrefreplace()[source]
tstring = None
unmappedunicode = '\udeee'
xmlcharnametest = None
class test.multibytecodec_support.TestBase_Mapping(methodName='runTest')[source]

Bases: unittest.case.TestCase

codectests = []
open_mapping_file()[source]
pass_dectest = []
pass_enctest = []
setUp()[source]
supmaps = []
test_errorhandle()[source]
test_mapping_file()[source]
test_mapping_supplemental()[source]
test.multibytecodec_support.load_teststring(name)[source]

test.outstanding_bugs module

test.pickletester module

class test.pickletester.AAA[source]

Bases: object

class test.pickletester.AbstractDispatchTableTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_class_dispatch_table()[source]
test_default_dispatch_table()[source]
test_instance_dispatch_table()[source]
class test.pickletester.AbstractPersistentPicklerTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

persistent_id(object)[source]
persistent_load(oid)[source]
test_persistence()[source]
class test.pickletester.AbstractPickleModuleTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_init()[source]
test_bad_input()[source]
test_callapi()[source]
test_dump_closed_file()[source]
test_highest_protocol()[source]
test_load_closed_file()[source]
test_load_from_and_dump_to_file()[source]
class test.pickletester.AbstractPickleTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

FRAME_SIZE_TARGET = 65536
assert_is_copy(obj, objcopy, msg=None)[source]

Utility method to verify if two objects are copies of each others.

check_frame_opcodes(pickled)[source]

Check the arguments of FRAME opcodes in a protocol 4+ pickle.

check_negative_32b_binXXX(dumped)[source]
dont_test_disassembly()[source]
optimized = False
produce_global_ext(extcode, opcode)[source]
setUp()[source]
test_appends_on_non_lists()[source]
test_attribute_name_interning()[source]
test_bad_getattr()[source]
test_badly_escaped_string()[source]
test_badly_quoted_string()[source]
test_bytes()[source]
test_c_methods()[source]
test_correctly_quoted_string()[source]
test_dict_chunking()[source]
test_dynamic_class()[source]
test_ellipsis()[source]
test_empty_bytestring()[source]
test_float()[source]
test_float_format(*args, **kwds)
test_framing_large_objects()[source]
test_framing_many_objects()[source]
test_get()[source]
test_getinitargs()[source]
test_global_ext1()[source]
test_global_ext2()[source]
test_global_ext4()[source]
test_int_pickling_efficiency()[source]
test_ints()[source]
test_large_pickles()[source]
test_list_chunking()[source]
test_load_classic_instance()[source]
test_load_from_data0()[source]
test_load_from_data1()[source]
test_load_from_data2()[source]
test_load_long_python2_str_as_bytes()[source]
test_load_python2_str_as_bytes()[source]
test_load_python2_unicode_as_str()[source]
test_long()[source]
test_long1()[source]
test_long4()[source]
test_many_puts_and_gets()[source]
test_maxint64()[source]
test_metaclass()[source]
test_misc()[source]
test_negative_32b_binbytes()[source]
test_negative_32b_binput()[source]
test_negative_32b_binunicode()[source]
test_negative_put()[source]
test_nested_names()[source]
test_newobj_generic()[source]
test_newobj_list()[source]
test_newobj_list_slots()[source]
test_newobj_proxies()[source]
test_newobj_tuple()[source]
test_notimplemented()[source]
test_optional_frames()[source]
test_pickle_to_2x()[source]
test_pop_empty_stack()[source]
test_proto()[source]
test_py_methods()[source]
test_recursive_dict()[source]
test_recursive_frozenset()[source]
test_recursive_inst()[source]
test_recursive_list()[source]
test_recursive_multi()[source]
test_recursive_set()[source]
test_recursive_tuple()[source]
test_reduce()[source]
test_reduce_bad_iterator()[source]
test_reduce_calls_base()[source]
test_reduce_ex_called()[source]
test_reduce_ex_calls_base()[source]
test_reduce_ex_overrides_reduce()[source]
test_reduce_overrides_default_reduce_ex()[source]
test_roundtrip_equality()[source]
test_set_chunking()[source]
test_setitems_on_non_dicts()[source]
test_short_tuples()[source]
test_simple_newobj()[source]
test_singleton_types()[source]
test_singletons()[source]
test_structseq()[source]
test_unicode()[source]
test_unicode_high_plane()[source]
test_unpickle_from_2x()[source]
class test.pickletester.AbstractPicklerUnpicklerObjectTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

pickler_class = None
setUp()[source]
test_clear_pickler_memo()[source]
test_multiple_unpicklings_seekable()[source]
test_multiple_unpicklings_unseekable()[source]
test_priming_pickler_memo()[source]
test_priming_unpickler_memo()[source]
test_reusing_unpickler_objects()[source]
test_unpickling_buffering_readline()[source]
unpickler_class = None
class test.pickletester.BBB[source]

Bases: object

class test.pickletester.BadGetattr[source]

Bases: object

class test.pickletester.BigmemPickleTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_huge_bytes_32b()
test_huge_bytes_64b()
test_huge_long_32b()
test_huge_str_32b()
test_huge_str_64b()
class test.pickletester.ExtensionSaver(code)[source]

Bases: object

restore()[source]
class test.pickletester.MyComplex[source]

Bases: complex

sample = (1+0j)
class test.pickletester.MyDict[source]

Bases: dict

sample = {'b': 2, 'a': 1}
class test.pickletester.MyFloat[source]

Bases: float

sample = 1.0
class test.pickletester.MyFrozenSet[source]

Bases: frozenset

sample = frozenset({'b', 'a'})
class test.pickletester.MyInt[source]

Bases: int

sample = 1
class test.pickletester.MyList[source]

Bases: list

sample = [1, 2, 3]
class test.pickletester.MySet[source]

Bases: set

sample = {'b', 'a'}
class test.pickletester.MyStr[source]

Bases: str

sample = 'hello'
class test.pickletester.MyTuple[source]

Bases: tuple

sample = (1, 2, 3)
class test.pickletester.MyUnicode[source]

Bases: str

sample = 'hello ሴ'
class test.pickletester.REX_five[source]

Bases: object

This one used to fail with infinite recursion

class test.pickletester.REX_four[source]

Bases: object

Calling base class method should succeed

class test.pickletester.REX_one[source]

Bases: object

No __reduce_ex__ here, but inheriting it from object

class test.pickletester.REX_seven(table=None)[source]

Bases: object

This class is used to check the 5th argument (dict iterator) of the reduce protocol.

class test.pickletester.REX_six(items=None)[source]

Bases: object

This class is used to check the 4th argument (list iterator) of the reduce protocol.

append(item)[source]
class test.pickletester.REX_three[source]

Bases: object

class test.pickletester.REX_two[source]

Bases: object

No __reduce__ here, but inheriting it from object

class test.pickletester.SimpleNewObj(a, b, c)[source]

Bases: object

class test.pickletester.SlotList[source]

Bases: test.pickletester.MyList

foo
class test.pickletester.UnseekableIO[source]

Bases: _io.BytesIO

peek(*args)[source]
seek(*args)[source]
seekable()[source]
tell()[source]
test.pickletester.count_opcode(code, pickle)[source]
test.pickletester.create_data()[source]
test.pickletester.create_dynamic_class(name, bases)[source]
class test.pickletester.initarg(a, b)[source]

Bases: __main__.C

class test.pickletester.metaclass[source]

Bases: type

class test.pickletester.myint(x)[source]

Bases: int

test.pickletester.opcode_in_pickle(code, pickle)[source]
class test.pickletester.pickling_metaclass[source]

Bases: type

class test.pickletester.use_metaclass[source]

Bases: object

test.profilee module

Input for test_profile.py and test_cprofile.py.

IMPORTANT: This stuff is touchy. If you modify anything above the test class you’ll have to regenerate the stats by running the two test files.

ALL NUMBERS in the expected output are relevant. If you change the formatting of pstats, please don’t just regenerate the expected output without checking very carefully that not a single number has changed.

class test.profilee.C[source]

Bases: object

test.profilee.factorial(n)[source]
test.profilee.helper()[source]
test.profilee.helper1()[source]
test.profilee.helper2()[source]
test.profilee.helper2_indirect()[source]
test.profilee.mul(a, b)[source]
test.profilee.subhelper()[source]
test.profilee.testfunc()[source]
test.profilee.timer()[source]

test.pyclbr_input module

Test cases for test_pyclbr.py

class test.pyclbr_input.B[source]

Bases: object

bm()[source]
class test.pyclbr_input.C[source]

Bases: test.pyclbr_input.B

classmethod cm()[source]
d = 10
foo(c)
m()[source]
om()
static sm()[source]
class test.pyclbr_input.Other[source]

Bases: object

classmethod foo(c)[source]
om()[source]
test.pyclbr_input.f()[source]

test.pydoc_mod module

This is a test module for test_pydoc

class test.pydoc_mod.A[source]

Bases: object

Hello and goodbye

class test.pydoc_mod.B[source]

Bases: object

NO_MEANING = 'eggs'
class test.pydoc_mod.C[source]

Bases: object

get_answer()[source]

Return say_no()

is_it_true()[source]

Return self.get_answer()

say_no()[source]
test.pydoc_mod.doc_func()[source]

This function solves all of the world’s problems: hunger lack of Python war

test.pydoc_mod.nodoc_func()[source]

test.pydocfodder module

Something just to look at via pydoc.

class test.pydocfodder.A_classic[source]

Bases: object

A classic class.

ABCD_method()[source]

Method defined in A, B, C and D.

ABC_method()[source]

Method defined in A, B and C.

ABD_method()[source]

Method defined in A, B and D.

AB_method()[source]

Method defined in A and B.

ACD_method()[source]

Method defined in A, C and D.

AC_method()[source]

Method defined in A and C.

AD_method()[source]

Method defined in A and D.

A_method()[source]

Method defined in A.

class test.pydocfodder.A_new[source]

Bases: object

A new-style class.

ABCD_method()[source]

Method defined in A, B, C and D.

ABC_method()[source]

Method defined in A, B and C.

ABD_method()[source]

Method defined in A, B and D.

AB_method()[source]

Method defined in A and B.

ACD_method()[source]

Method defined in A, C and D.

AC_method()[source]

Method defined in A and C.

AD_method()[source]

Method defined in A and D.

classmethod A_classmethod(x)[source]

A class method defined in A.

A_int_alias

alias of int

A_method()[source]

Method defined in A.

A_property

A sample property defined in A.

static A_staticmethod()[source]

A static method defined in A.

class test.pydocfodder.B_classic[source]

Bases: test.pydocfodder.A_classic

A classic class, derived from A_classic.

ABCD_method()[source]

Method defined in A, B, C and D.

ABC_method()[source]

Method defined in A, B and C.

ABD_method()[source]

Method defined in A, B and D.

AB_method()[source]

Method defined in A and B.

BCD_method()[source]

Method defined in B, C and D.

BC_method()[source]

Method defined in B and C.

BD_method()[source]

Method defined in B and D.

B_method()[source]

Method defined in B.

class test.pydocfodder.B_new[source]

Bases: test.pydocfodder.A_new

A new-style class, derived from A_new.

ABCD_method()[source]

Method defined in A, B, C and D.

ABC_method()[source]

Method defined in A, B and C.

ABD_method()[source]

Method defined in A, B and D.

AB_method()[source]

Method defined in A and B.

BCD_method()[source]

Method defined in B, C and D.

BC_method()[source]

Method defined in B and C.

BD_method()[source]

Method defined in B and D.

B_method()[source]

Method defined in B.

class test.pydocfodder.C_classic[source]

Bases: test.pydocfodder.A_classic

A classic class, derived from A_classic.

ABCD_method()[source]

Method defined in A, B, C and D.

ABC_method()[source]

Method defined in A, B and C.

ACD_method()[source]

Method defined in A, C and D.

AC_method()[source]

Method defined in A and C.

BCD_method()[source]

Method defined in B, C and D.

BC_method()[source]

Method defined in B and C.

CD_method()[source]

Method defined in C and D.

C_method()[source]

Method defined in C.

class test.pydocfodder.C_new[source]

Bases: test.pydocfodder.A_new

A new-style class, derived from A_new.

ABCD_method()[source]

Method defined in A, B, C and D.

ABC_method()[source]

Method defined in A, B and C.

ACD_method()[source]

Method defined in A, C and D.

AC_method()[source]

Method defined in A and C.

BCD_method()[source]

Method defined in B, C and D.

BC_method()[source]

Method defined in B and C.

CD_method()[source]

Method defined in C and D.

C_method()[source]

Method defined in C.

class test.pydocfodder.D_classic[source]

Bases: test.pydocfodder.B_classic, test.pydocfodder.C_classic

A classic class, derived from B_classic and C_classic.

ABCD_method()[source]

Method defined in A, B, C and D.

ABD_method()[source]

Method defined in A, B and D.

ACD_method()[source]

Method defined in A, C and D.

AD_method()[source]

Method defined in A and D.

BCD_method()[source]

Method defined in B, C and D.

BD_method()[source]

Method defined in B and D.

CD_method()[source]

Method defined in C and D.

D_method()[source]

Method defined in D.

class test.pydocfodder.D_new[source]

Bases: test.pydocfodder.B_new, test.pydocfodder.C_new

A new-style class, derived from B_new and C_new.

ABCD_method()[source]

Method defined in A, B, C and D.

ABD_method()[source]

Method defined in A, B and D.

ACD_method()[source]

Method defined in A, C and D.

AD_method()[source]

Method defined in A and D.

BCD_method()[source]

Method defined in B, C and D.

BD_method()[source]

Method defined in B and D.

CD_method()[source]

Method defined in C and D.

D_method()[source]

Method defined in D.

class test.pydocfodder.FunkyProperties[source]

Bases: object

From SF bug 472347, by Roeland Rengelink.

Property getters etc may not be vanilla functions or methods, and this used to make GUI pydoc blow up.

class del_desc(attr)[source]

Bases: object

class FunkyProperties.get_desc(attr)[source]

Bases: object

class FunkyProperties.set_desc(attr)[source]

Bases: object

FunkyProperties.x

prop x

test.pystone module

“PYSTONE” Benchmark Program

Version: Python/1.2 (corresponds to C/1.1 plus 3 Pystone fixes)

Author: Reinhold P. Weicker, CACM Vol 27, No 10, 10/84 pg. 1013.

Translated from ADA to C by Rick Richardson. Every method to preserve ADA-likeness has been used, at the expense of C-ness.

Translated from C to Python by Guido van Rossum.

Version History:

Version 1.1 corrects two bugs in version 1.0:

First, it leaked memory: in Proc1(), NextRecord ends up having a pointer to itself. I have corrected this by zapping NextRecord.PtrComp at the end of Proc1().

Second, Proc3() used the operator != to compare a record to None. This is rather inefficient and not true to the intention of the original benchmark (where a pointer comparison to None is intended; the != operator attempts to find a method __cmp__ to do value comparison of the record). Version 1.1 runs 5-10 percent faster than version 1.0, so benchmark figures of different versions can’t be compared directly.

Version 1.2 changes the division to floor division.

Under Python 3 version 1.1 would use the normal division operator, resulting in some of the operations mistakenly yielding floats. Version 1.2 instead uses floor division making the benchmark a integer benchmark again.

test.pystone.Func1(CharPar1, CharPar2)[source]
test.pystone.Func2(StrParI1, StrParI2)[source]
test.pystone.Func3(EnumParIn)[source]
test.pystone.Proc0(loops=50000)[source]
test.pystone.Proc1(PtrParIn)[source]
test.pystone.Proc2(IntParIO)[source]
test.pystone.Proc3(PtrParOut)[source]
test.pystone.Proc4()[source]
test.pystone.Proc5()[source]
test.pystone.Proc6(EnumParIn)[source]
test.pystone.Proc7(IntParI1, IntParI2)[source]
test.pystone.Proc8(Array1Par, Array2Par, IntParI1, IntParI2)[source]
class test.pystone.Record(PtrComp=None, Discr=0, EnumComp=0, IntComp=0, StringComp=0)[source]

Bases: object

copy()[source]
test.pystone.main(loops=50000)[source]
test.pystone.pystones(loops=50000)[source]

test.re_tests module

test.regrtest module

Script to run Python regression tests.

Run this script with -h or –help for documentation.

class test.regrtest.MultiprocessTests(tests)[source]

Bases: object

A thread-safe iterator over tests for multiprocess mode.

test.regrtest.cleanup_test_droppings(testname, verbose)[source]
test.regrtest.count(n, word)[source]
test.regrtest.dash_R(the_module, test, indirect_test, huntrleaks)[source]

Run a test multiple times, looking for reference leaks.

Returns:
False if the test didn’t leak references; True if we detected refleaks.
test.regrtest.dash_R_cleanup(fs, ps, pic, zdc, abcs)[source]
test.regrtest.findtestdir(path=None)[source]
test.regrtest.findtests(testdir=None, stdtests=['test_grammar', 'test_opcodes', 'test_dict', 'test_builtin', 'test_exceptions', 'test_types', 'test_unittest', 'test_doctest', 'test_doctest2', 'test_support'], nottests=set())[source]

Return a list of all applicable test modules.

test.regrtest.huntrleaks(string)[source]
test.regrtest.main(tests=None, **kwargs)[source]

Execute a test suite.

This also parses command-line options and modifies its behavior accordingly.

tests – a list of strings containing test names (optional) testdir – the directory in which to look for tests (optional)

Users other than the Python test suite will certainly want to specify testdir; if it’s omitted, the directory containing the Python test suite is searched for.

If the tests argument is omitted, the tests listed on the command-line will be used. If that’s empty, too, then all *.py files beginning with test_ will be used.

The other default arguments (verbose, quiet, exclude, single, randomize, findleaks, use_resources, trace, coverdir, print_slow, and random_seed) allow programmers calling main() directly to set the values that would normally be set by flags on the command line.

test.regrtest.main_in_temp_cwd()[source]

Run main() in a temporary working directory.

test.regrtest.printlist(x, width=70, indent=4)[source]

Print the elements of iterable x to stdout.

Optional arg width (default 70) is the maximum line length. Optional arg indent (default 4) is the number of blanks with which to begin each line.

test.regrtest.relative_filename(string)[source]
test.regrtest.removepy(names)[source]
test.regrtest.replace_stdout()[source]

Set stdout encoder error handler to backslashreplace (as stderr error handler) to avoid UnicodeEncodeError when printing a traceback

test.regrtest.resources_list(string)[source]
test.regrtest.run_test_in_subprocess(testname, ns)[source]

Run the given test in a subprocess with –slaveargs.

ns is the option Namespace parsed from command-line arguments. regrtest is invoked in a subprocess with the –slaveargs argument; when the subprocess exits, its return code, stdout and stderr are returned as a 3-tuple.

test.regrtest.runtest(test, verbose, quiet, huntrleaks=False, use_resources=None, output_on_failure=False, failfast=False, match_tests=None, timeout=None)[source]

Run a single test.

test – the name of the test verbose – if true, print more messages quiet – if true, don’t print ‘skipped’ messages (probably redundant) huntrleaks – run multiple times to test for leaks; requires a debug

build; a triple corresponding to -R’s three arguments

use_resources – list of extra resources to use output_on_failure – if true, display test output on failure timeout – dump the traceback and exit if a test takes more than

timeout seconds

failfast, match_tests – See regrtest command-line flags for these.

Returns the tuple result, test_time, where result is one of the constants:
INTERRUPTED KeyboardInterrupt when run under -j RESOURCE_DENIED test skipped because resource denied SKIPPED test skipped for some other reason ENV_CHANGED test failed because it changed the execution environment FAILED test failed PASSED test passed
test.regrtest.runtest_inner(test, verbose, quiet, huntrleaks=False, display_failure=True)[source]
class test.regrtest.saved_test_environment(testname, verbose=0, quiet=False)[source]

Bases: object

Save bits of the test environment and restore them at block exit.

with saved_test_environment(testname, verbose, quiet):
#stuff

Unless quiet is True, a warning is printed to stderr if any of the saved items was changed by the test. The attribute ‘changed’ is initially False, but is set to True if a change is detected.

If verbose is more than 1, the before and after state of changed items is also printed.

changed = False
get___import__()[source]
get_asyncore_socket_map()[source]
get_cwd()[source]
get_locale()[source]
get_logging__handlerList()[source]
get_logging__handlers()[source]
get_multiprocessing_process__dangling()[source]
get_os_environ()[source]
get_shutil_archive_formats()[source]
get_shutil_unpack_formats()[source]
get_support_TESTFN()[source]
get_sys_argv()[source]
get_sys_gettrace()[source]
get_sys_path()[source]
get_sys_path_hooks()[source]
get_sys_stderr()[source]
get_sys_stdin()[source]
get_sys_stdout()[source]
get_sys_warnoptions()[source]
get_sysconfig__CONFIG_VARS()[source]
get_sysconfig__INSTALL_SCHEMES()[source]
get_threading__dangling()[source]
get_warnings_filters()[source]
get_warnings_showwarning()[source]
resource_info()[source]
resources = ('sys.argv', 'cwd', 'sys.stdin', 'sys.stdout', 'sys.stderr', 'os.environ', 'sys.path', 'sys.path_hooks', '__import__', 'warnings.filters', 'asyncore.socket_map', 'logging._handlers', 'logging._handlerList', 'sys.gettrace', 'sys.warnoptions', 'multiprocessing.process._dangling', 'threading._dangling', 'sysconfig._CONFIG_VARS', 'sysconfig._INSTALL_SCHEMES', 'support.TESTFN', 'locale', 'warnings.showwarning')
restore___import__(import_)[source]
restore_asyncore_socket_map(saved_map)[source]
restore_cwd(saved_cwd)[source]
restore_locale(saved)[source]
restore_logging__handlerList(saved_handlerList)[source]
restore_logging__handlers(saved_handlers)[source]
restore_multiprocessing_process__dangling(saved)[source]
restore_os_environ(saved_environ)[source]
restore_shutil_archive_formats(saved)[source]
restore_shutil_unpack_formats(saved)[source]
restore_support_TESTFN(saved_value)[source]
restore_sys_argv(saved_argv)[source]
restore_sys_gettrace(trace_fxn)[source]
restore_sys_path(saved_path)[source]
restore_sys_path_hooks(saved_hooks)[source]
restore_sys_stderr(saved_stderr)[source]
restore_sys_stdin(saved_stdin)[source]
restore_sys_stdout(saved_stdout)[source]
restore_sys_warnoptions(saved_options)[source]
restore_sysconfig__CONFIG_VARS(saved)[source]
restore_sysconfig__INSTALL_SCHEMES(saved)[source]
restore_threading__dangling(saved)[source]
restore_warnings_filters(saved_filters)[source]
restore_warnings_showwarning(fxn)[source]
test.regrtest.warm_caches()[source]

test.relimport module

test.reperf module

test.reperf.main()[source]
test.reperf.timefunc(n, func, *args, **kw)[source]

test.sample_doctest module

This is a sample module that doesn’t really test anything all that
interesting.

It simply has a few tests, some of which succeed and some of which fail.

It’s important that the numbers remain constant as another test is testing the running of these tests.

>>> 2+2
4
test.sample_doctest.bar()[source]
>>> 2+2
4
test.sample_doctest.foo()[source]
>>> 2+2
5
>>> 2+2
4
test.sample_doctest.test_silly_setup()[source]
>>> import test.test_doctest
>>> test.test_doctest.sillySetup
True
test.sample_doctest.test_suite()[source]
test.sample_doctest.w_blank()[source]
>>> if 1:
...    print('a')
...    print()
...    print('b')
a

b
test.sample_doctest.x_is_one()[source]
>>> x
1
test.sample_doctest.y_is_one()[source]
>>> y
1

test.sample_doctest_no_docstrings module

class test.sample_doctest_no_docstrings.Foo[source]

Bases: object

test.sample_doctest_no_doctests module

This is a sample module used for testing doctest.

This module is for testing how doctest handles a module with docstrings but no doctest examples.

class test.sample_doctest_no_doctests.Foo[source]

Bases: object

A docstring with no doctest examples.

test.script_helper module

test.script_helper.assert_python_failure(*args, **env_vars)[source]

Assert that running the interpreter with args and optional environment variables env_vars fails (rc != 0) and return a (return code, stdout, stderr) tuple.

See assert_python_ok() for more options.

test.script_helper.assert_python_ok(*args, **env_vars)[source]

Assert that running the interpreter with args and optional environment variables env_vars succeeds (rc == 0) and return a (return code, stdout, stderr) tuple.

If the __cleanenv keyword is set, env_vars is used a fresh environment.

Python is started in isolated mode (command line option -I), except if the __isolated keyword is set to False.

test.script_helper.kill_python(p)[source]

Run the given Popen process until completion and return stdout.

test.script_helper.make_pkg(pkg_dir, init_source='')[source]
test.script_helper.make_script(script_dir, script_basename, source, omit_suffix=False)[source]
test.script_helper.make_zip_pkg(zip_dir, zip_basename, pkg_name, script_basename, source, depth=1, compiled=False)[source]
test.script_helper.make_zip_script(zip_dir, zip_basename, script_name, name_in_zip=None)[source]
test.script_helper.spawn_python(*args, stdout=-1, stderr=-2, **kw)[source]

Run a Python subprocess with the given arguments.

kw is extra keyword args to pass to subprocess.Popen. Returns a Popen object.

test.seq_tests module

Tests common to tuple, list and UserList.UserList

class test.seq_tests.CommonTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_addmul()[source]
test_bigrepeat()[source]
test_constructors()[source]
test_contains()[source]
test_contains_fake()[source]
test_contains_order()[source]
test_count()[source]
test_getitem()[source]
test_getitemoverwriteiter()[source]
test_getslice()[source]
test_iadd()[source]
test_imul()[source]
test_index()[source]
test_len()[source]
test_minmax()[source]
test_pickle()[source]
test_repeat()[source]
test_subscript()[source]
test_truth()[source]
type2test = None
class test.seq_tests.IterFunc(seqn)[source]

Bases: object

Sequence using iterator protocol

class test.seq_tests.IterFuncStop(seqn)[source]

Bases: object

Test immediate stop

class test.seq_tests.IterGen(seqn)[source]

Bases: object

Sequence using iterator protocol defined with a generator

class test.seq_tests.IterGenExc(seqn)[source]

Bases: object

Test propagation of exceptions

class test.seq_tests.IterNextOnly(seqn)[source]

Bases: object

Missing __getitem__ and __iter__

class test.seq_tests.IterNoNext(seqn)[source]

Bases: object

Iterator missing __next__()

class test.seq_tests.Sequence(seqn)[source]

Bases: object

Sequence using __getitem__

test.seq_tests.iterfunc(seqn)[source]

Regular generator

test.seq_tests.itermulti(seqn)[source]

Test multiple tiers of iterators

test.sortperf module

Sort performance test.

See main() for command line syntax. See tabulate() for output format.

test.sortperf.doit(L)[source]
test.sortperf.flush()[source]
test.sortperf.main()[source]

Main program when invoked as a script.

One argument: tabulate a single row. Two arguments: tabulate a range (inclusive). Extra arguments are used to seed the random generator.

test.sortperf.randfloats(n)[source]

Return a list of n random floats in [0, 1).

test.sortperf.tabulate(r)[source]

Tabulate sort speed for lists of various sizes.

The sizes are 2**i for i in r (the argument, a list).

The output displays i, 2**i, and the time to sort arrays of 2**i floating point numbers with the following properties:

*sort: random data sort: descending data /sort: ascending data 3sort: ascending, then 3 random exchanges +sort: ascending, then 10 random at the end %sort: ascending, then randomly replace 1% of the elements w/ random values ~sort: many duplicates =sort: all equal !sort: worst case scenario

test.ssl_servers module

class test.ssl_servers.HTTPSServer(server_address, handler_class, context)[source]

Bases: http.server.HTTPServer

get_request()[source]
class test.ssl_servers.HTTPSServerThread(context, host='127.0.0.1', handler_class=None)[source]

Bases: threading.Thread

run()[source]
start(flag=None)[source]
stop()[source]
class test.ssl_servers.RootedHTTPRequestHandler(request, client_address, server)[source]

Bases: http.server.SimpleHTTPRequestHandler

log_message(format, *args)[source]
root = 'C:\\Python34\\lib\\test'
server_version = 'TestHTTPS/1.0'
timeout = 5
translate_path(path)[source]

Translate a /-separated PATH to the local filename syntax.

Components that mean special things to the local file system (e.g. drive or directory names) are ignored. (XXX They should probably be diagnosed.)

class test.ssl_servers.StatsRequestHandler(request, client_address, server)[source]

Bases: http.server.BaseHTTPRequestHandler

Example HTTP request handler which returns SSL statistics on GET requests.

do_GET(send_body=True)[source]

Serve a GET request.

do_HEAD()[source]

Serve a HEAD request.

log_request(format, *args)[source]
server_version = 'StatsHTTPS/1.0'
test.ssl_servers.make_https_server(case, *, context=None, certfile='C:\\Python34\\lib\\test\\keycert.pem', host='127.0.0.1', handler_class=None)[source]

test.ssltests module

test.ssltests.run_regrtests(*extra_args)[source]

test.string_tests module

Common tests shared by test_str, test_unicode, test_userstring and test_string.

class test.string_tests.BadSeq1[source]

Bases: test.string_tests.Sequence

class test.string_tests.BadSeq2[source]

Bases: test.string_tests.Sequence

class test.string_tests.BaseTest[source]

Bases: object

checkcall(obj, methodname, *args)[source]
checkequal(result, obj, methodname, *args, **kwargs)[source]
checkraises(exc, obj, methodname, *args)[source]
contains_bytes = False
fixtype(obj)[source]
test_count()[source]
test_expandtabs()[source]
test_find()[source]
test_index()[source]
test_lower()[source]
test_replace()[source]
test_replace_overflow()[source]
test_rfind()[source]
test_rindex()[source]
test_rsplit()[source]
test_split()[source]
test_upper()[source]
type2test = None
class test.string_tests.CommonTest[source]

Bases: test.string_tests.BaseTest

test_additional_rsplit()[source]
test_additional_split()[source]
test_capitalize()[source]
test_center()[source]
test_hash()[source]
test_ljust()[source]
test_rjust()[source]
test_strip()[source]
test_swapcase()[source]
test_zfill()[source]
class test.string_tests.MixinStrUnicodeTest[source]

Bases: object

test_bug1001011()[source]
class test.string_tests.MixinStrUnicodeUserStringTest[source]

Bases: object

test___contains__()[source]
test_endswith()[source]
test_extended_getslice()[source]
test_find_etc_raise_correct_error_messages()[source]
test_floatformatting()[source]
test_formatting()[source]
test_formatting_c_limits()[source]
test_inplace_rewrites()[source]
test_isalnum()[source]
test_isalpha()[source]
test_isdigit()[source]
test_islower()[source]
test_isspace()[source]
test_istitle()[source]
test_isupper()[source]
test_join()[source]
test_mul()[source]
test_none_arguments()[source]
test_partition()[source]
test_rpartition()[source]
test_slice()[source]
test_splitlines()[source]
test_startswith()[source]
test_subscript()[source]
test_title()[source]
class test.string_tests.Sequence(seq='wxyz')[source]

Bases: object

test.test___all__ module

class test.test___all__.AllTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_all(modname)[source]
test_all()[source]
walk_modules(basedir, modpath)[source]
exception test.test___all__.FailedImport[source]

Bases: RuntimeError

exception test.test___all__.NoAll[source]

Bases: RuntimeError

test.test___future__ module

class test.test___future__.FutureTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_attributes()[source]
test_names()[source]
test.test___future__.test_main()[source]

test.test__locale module

test.test__locale.test_main()[source]

test.test__opcode module

class test.test__opcode.OpcodeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_stack_effect()[source]
test.test__opcode.test_main()[source]

test.test__osx_support module

Test suite for _osx_support: shared OS X support functions.

class test.test__osx_support.Test_OSXSupport(methodName='runTest')[source]

Bases: unittest.case.TestCase

add_expected_saved_initial_values(config_vars, expected_vars)[source]
setUp()[source]
test__check_for_unavailable_sdk()[source]
test__find_appropriate_compiler()[source]
test__find_build_tool()[source]
test__find_executable()[source]
test__get_system_version()[source]
test__override_all_archs()[source]
test__read_output()[source]
test__remove_original_values()[source]
test__remove_universal_flags()[source]
test__remove_unsupported_archs()[source]
test__save_modified_value()[source]
test__save_modified_value_unchanged()[source]
test__supports_universal_builds()[source]
test_get_platform_osx()[source]
test.test__osx_support.test_main()[source]

test.test_abc module

Unit tests for abc.py.

class test.test_abc.TestABC(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_ABC_helper()[source]
test_abstractclassmethod_basics()[source]
test_abstractmethod_basics()[source]
test_abstractmethod_integration()[source]
test_abstractproperty_basics()[source]
test_abstractstaticmethod_basics()[source]
test_all_new_methods_are_called()[source]
test_customdescriptors_with_abstractmethod()[source]
test_descriptors_with_abstractmethod()[source]
test_isinstance_invalidation()[source]
test_metaclass_abc()[source]
test_register_as_class_deco()[source]
test_register_non_class()[source]
test_registration_basics()[source]
test_registration_builtins()[source]
test_registration_edge_cases()[source]
test_registration_transitiveness()[source]
class test.test_abc.TestLegacyAPI(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_abstractclassmethod_basics()[source]
test_abstractproperty_basics()[source]
test_abstractstaticmethod_basics()[source]

test.test_abstract_numbers module

Unit tests for numbers.py.

class test.test_abstract_numbers.TestNumbers(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_complex()[source]
test_float()[source]
test_int()[source]

test.test_aifc module

class test.test_aifc.AIFCLowLevelTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_read_comm_kludge_compname_even()[source]
test_read_comm_kludge_compname_odd()[source]
test_read_no_comm_chunk()[source]
test_read_raises()[source]
test_read_written()[source]
test_read_wrong_compression_type()[source]
test_read_wrong_form()[source]
test_read_wrong_marks()[source]
test_write_aiff_by_extension()[source]
test_write_header_comptype_raises()[source]
test_write_header_raises()[source]
test_write_long_string_raises()[source]
test_write_markers_raises()[source]
test_write_params_bunch()[source]
test_write_params_raises()[source]
test_write_params_singles()[source]
test_wrong_open_mode()[source]
class test.test_aifc.AifcALAWTest(methodName='runTest')[source]

Bases: test.test_aifc.AifcTest, unittest.case.TestCase

compname = b''
comptype = b'alaw'
framerate = 11025
frames = b'0\x02\xe8\xff\x00J\xf8\x00\x001\xe0\x04\x00\x82@\x08\x00\xcb\xa0\x06\x00J\xf0\x03\x00\xbe\xa8\x01p\x03x\xfe\x00\xba \xfa\x00\xb6@\xf3\x00)\x80\xeb\x80\x1a\x80\xe6\x80\xed\x80\xe4\x00\xc7\x80\xe2@\x0e\x80\xe0\x80\xef\x80\xe0\x00V\x80\xe2 \xfb\x80\xe8\x80\x13\x80\xef\x00\xd9@\xf7\x00\x96`\xfb\xc0\xf5\x10\xfc@\x08\xa0\xfb\x00\xdf \xfb\x80\x11 \xfa\x00?`\xfb\x00\xbe\xb0\xfc\x00fX\xff\x00\xcf \x04\x00B@\t\x00\xc1\xc0\x0e\x00R\x80\x12\x80\xee\x80\x17\x00\x82\x80\x16\x00~\x80\x14\x00\x82\x80\x12\x00J\xc0\x0e\x00R\xc0\r\x80\xef@\x0f\x00\xcf\xc0\x0f\x80\xe4\xc0\x0c\x00b@\n\xc0\x08@\n\x00+@\x0b\x00R@\x0e\x00\x8a\x80\x11\x00\xb6\xc0\x0e\x00F@\n'
nchannels = 2
nframes = 48
sampwidth = 2
sndfilename = 'pluck-alaw.aifc'
sndfilenframes = 3307
class test.test_aifc.AifcMiscTest(methodName='runTest')[source]

Bases: test.audiotests.AudioTests, unittest.case.TestCase

test_params_added()[source]
test_read_markers()[source]
test_skipunknown()[source]
test_write_header_comptype_sampwidth()[source]
test_write_markers_values()[source]
class test.test_aifc.AifcPCM16Test(methodName='runTest')[source]

Bases: test.test_aifc.AifcTest, unittest.case.TestCase

compname = b'not compressed'
comptype = b'NONE'
framerate = 11025
frames = b"\x02.\xff\xeaK]\x00\xf61\x18\x04\xea\x80\xe1\x08@\xcb\xe1\x06\xb1H\xa9\x03\xf5\xbf\xe6\x01\xb2\x03l\xfe{\xb8X\xfa>\xb4\xb1\xf3O)\x9a\xeb\xca\x1a]\xe6\xda\xed\xfa\xe4\x91\xc6(\xe2u\x0e\t\xe0\xb5\xef*\xe0)WX\xe2q\xfb5\xe8?\x13v\xef\x86\xd8+\xf7'\x97\x90\xfbv\xf5\xfa\xfc\x0f\x08g\xfb\x9c\xdf0\xfbC\x11~\xfa6>\xe5\xfb[\xbcy\xfc\xb1f\xd9\xff]\xcf\x15\x04\x12C\x1d\t|\xc1\xba\x0e\xc8Q!\x12\xa1\xee\xe2\x17S\x82\x07\x16e\x7f\xff\x14C\x80\x04\x12\x8fI\xa2\x0e\xafR\xbb\r\xba\xef\xb4\x0f`\xce<\x0f\xbf\xe4\xb3\x0c\xeccC\n\\\x08\xc8\n +\xbb\x0b\x08QJ\x0eC\x8b\xcf\x119\xb6\xf6\x0e\xebD\x12\n^"
nchannels = 2
nframes = 48
sampwidth = 2
sndfilename = 'pluck-pcm16.aiff'
sndfilenframes = 3307
class test.test_aifc.AifcPCM24Test(methodName='runTest')[source]

Bases: test.test_aifc.AifcTest, unittest.case.TestCase

compname = b'not compressed'
comptype = b'NONE'
framerate = 11025
frames = b'\x02-e\xff\xeb\x9dKZ\x0f\x00\xfaT1\x13\xc3\x04\xee+\x80\xdc\xd6\x08C\x03\xcb\xde\xc0\x06\xb2aH\xa9\x98\x03\xf2\xf8\xbf\xe8$\x01\xb0}\x03k\xfb\xfe{]\xb8WV\xfa>\xc9\xb4\xb0U\xf3P+)\x980\xeb\xcbb\x1a\\\xa7\xe6\xd9\x9a\xed\xfa>\xe4\x91\xbd\xc6%\xeb\xe2x\x84\x0e\x05\xa9\xe0\xb6\xcf\xef))\xe0)"WX\xd8\xe2pg\xfb5W\xe8>\x16\x13w\xbf\xef\x84\x02\xd8,[\xf7\'*\x97\x8f\x16\xfbwE\xf5\xf8e\xfc\x10\x13\x08f5\xfb\x9cN\xdf0\xfc\xfb@\xee\x11\x7f\xe0\xfa48>\xe6\xb8\xfbZ\xc3\xbcw\xa3\xfc\xb2\xf4f\xd6\xda\xff_2\xcf\x13\xb9\x04\x12uC\x1di\tz\x8c\xc1\xbb`\x0e\xc7NQ \xb9\x12\xa2\xba\xee\xdfd\x17T\xc0\x82\x07\x00\x16d\xb7\x7f\xff\xff\x14E?\x80\x00\x00\x12\x94\xe6I\x9c\x1b\x0e\xb3\xb2R\xb7>\r\xbc\xa0\xef\xb2\xb2\x0f_\xd8\xce<\xdb\x0f\xbe\x12\xe4\xb4\x9c\x0c\xea-cD\xa8\nZ|\x08\xc8\xfe\n\x1f\xfe+\xb9\x86\x0b\n\x0eQHo\x0eD\xe1\x8b\xccd\x11;\x05\xb6\xf4\xec\x0e\xeb6D\x13\x17\n[H'
nchannels = 2
nframes = 48
sampwidth = 3
sndfilename = 'pluck-pcm24.aiff'
sndfilenframes = 3307
class test.test_aifc.AifcPCM32Test(methodName='runTest')[source]

Bases: test.test_aifc.AifcTest, unittest.case.TestCase

compname = b'not compressed'
comptype = b'NONE'
framerate = 11025
frames = b'\x02-e\xbc\xff\xeb\x9d\x92KZ\x0f\x80\x00\xfaT\x9c1\x13\xc3@\x04\xee+\xc0\x80\xdc\xd6\x80\x08C\x03\xe0\xcb\xde\xc0\xc0\x06\xb2a@H\xa9\x98\x00\x03\xf2\xf8\xfc\xbf\xe8$\x80\x01\xb0}\x92\x03k\xfb`\xfe{]4\xb8WV\x00\xfa>\xc9 \xb4\xb0U\x00\xf3P+\xc0)\x980\x00\xeb\xcbb@\x1a\\\xa7\xa0\xe6\xd9\x9a`\xed\xfa>\x80\xe4\x91\xbd@\xc6%\xeb\x80\xe2x\x84\xa0\x0e\x05\xa9\xa0\xe0\xb6\xcf\xe0\xef))@\xe0)"\x80WX\xd8\x00\xe2pg\x00\xfb5W\xd8\xe8>\x16@\x13w\xbf\x00\xef\x84\x02\x80\xd8,[\x80\xf7\'*\x80\x97\x8f\x16\x00\xfbwE`\xf5\xf8e\x10\xfc\x10\x13d\x08f5\xa0\xfb\x9cN \xdf0\xfc@\xfb@\xee(\x11\x7f\xe0\xa0\xfa48\xb0>\xe6\xb8@\xfbZ\xc3\xf0\xbcw\xa3\x80\xfc\xb2\xf4Tf\xd6\xda\x80\xff_2\xb4\xcf\x13\xb9\x80\x04\x12u\xb0C\x1di\x80\tz\x8c\x00\xc1\xbb`\x00\x0e\xc7N\x00Q \xb9\x80\x12\xa2\xba\xa0\xee\xdfd\xc0\x17T\xc0`\x82\x07\x00\x00\x16d\xb7\x80\x7f\xff\xff\xff\x14E?@\x80\x00\x00\x00\x12\x94\xe6\xe0I\x9c\x1b\x00\x0e\xb3\xb2pR\xb7>\x00\r\xbc\xa0 \xef\xb2\xb2\xe0\x0f_\xd8\x80\xce<\xdb@\x0f\xbe\x12p\xe4\xb4\x9c\xc0\x0c\xea-\x90cD\xa8\x80\nZ|\xa0\x08\xc8\xfe\x80\n\x1f\xfe\xe0+\xb9\x86\xc0\x0b\n\x0e\x00QHo\x80\x0eD\xe1\x90\x8b\xccd\x80\x11;\x05\x80\xb6\xf4\xec\x00\x0e\xeb60D\x13\x17\x80\n[H\xa0'
nchannels = 2
nframes = 48
sampwidth = 4
sndfilename = 'pluck-pcm32.aiff'
sndfilenframes = 3307
class test.test_aifc.AifcPCM8Test(methodName='runTest')[source]

Bases: test.test_aifc.AifcTest, unittest.case.TestCase

compname = b'not compressed'
comptype = b'NONE'
framerate = 11025
frames = b'\x02\xffK\x001\x04\x80\x08\xcb\x06H\x03\xbf\x01\x03\xfe\xb8\xfa\xb4\xf3)\xeb\x1a\xe6\xed\xe4\xc6\xe2\x0e\xe0\xef\xe0W\xe2\xfb\xe8\x13\xef\xd8\xf7\x97\xfb\xf5\xfc\x08\xfb\xdf\xfb\x11\xfa>\xfb\xbc\xfcf\xff\xcf\x04C\t\xc1\x0eQ\x12\xee\x17\x82\x16\x7f\x14\x80\x12I\x0eR\r\xef\x0f\xce\x0f\xe4\x0cc\n\x08\n+\x0bQ\x0e\x8b\x11\xb6\x0eD\n'
nchannels = 2
nframes = 48
sampwidth = 1
sndfilename = 'pluck-pcm8.aiff'
sndfilenframes = 3307
class test.test_aifc.AifcTest[source]

Bases: test.audiotests.AudioWriteTests, test.audiotests.AudioTestsWithSourceFile

close_fd = True
module = <module 'aifc' from 'C:\\Python34\\lib\\aifc.py'>
test_unseekable_read = None
class test.test_aifc.AifcULAWTest(methodName='runTest')[source]

Bases: test.test_aifc.AifcTest, unittest.case.TestCase

compname = b''
comptype = b'ulaw'
framerate = 11025
frames = b',\x02\xe8\xff|I\x04\x01|0\xdc\x04\x84\x82<\x08\x84\xcb\x9c\x06|I\xdc\x03\x84\xbe\xac\x01l\x03t\xfe\x84\xb6$\xfa\x84\xb6D\xf3|*\x04\xec\xfc\x19\x04\xe7\x04\xee\x04\xe5\x84\xc5\x04\xe2<\x0e\x04\xe1\x04\xef\x84\xdf|U\x04\xe2$\xfb\x04\xe8\xfc\x12\x04\xef\x84\xd7D\xf7\x84\x96d\xfb\xc4\xf5$\xfc<\x08\xa4\xfb\x84\xdf$\xfb\xfc\x11$\xfa|>d\xfb\x84\xba\xb4\xfc|e\\\xff\x84\xcf\x1c\x04|A<\t\x84\xc1\xbc\x0e|Q\xfc\x12\x04\xef\xfc\x16\x84\x82\xfc\x15|}\xfc\x13\x84\x82\xfc\x12|I\xbc\x0e|Q\xbc\r\x04\xf0<\x0f\x84\xcd\xfc\x0f\x04\xe5\xbc\x0c|a<\n\xbc\x08<\n|,<\x0b|Q<\x0e\x84\x8a\xfc\x10\x84\xb6\xbc\x0e|E<\n'
nchannels = 2
nframes = 48
sampwidth = 2
sndfilename = 'pluck-ulaw.aifc'
sndfilenframes = 3307

test.test_argparse module

exception test.test_argparse.ArgumentParserError(message, stdout=None, stderr=None, error_code=None)[source]

Bases: Exception

class test.test_argparse.ErrorRaisingArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=<class 'argparse.HelpFormatter'>, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True)[source]

Bases: argparse.ArgumentParser

error(*args, **kwargs)[source]
exit(*args, **kwargs)[source]
parse_args(*args, **kwargs)[source]
class test.test_argparse.HelpTestCase(methodName='runTest')

Bases: test.test_argparse.TestCase

class test.test_argparse.MEMixin[source]

Bases: object

test_failures_when_not_required()[source]
test_failures_when_required()[source]
test_help_when_not_required()[source]
test_help_when_required()[source]
test_successes_when_not_required()[source]
test_successes_when_required()[source]
test_usage_when_not_required()[source]
test_usage_when_required()[source]
class test.test_argparse.MEPBase[source]

Bases: object

get_parser(required=None)[source]
class test.test_argparse.NS(**kwargs)[source]

Bases: object

class test.test_argparse.ParserTestCase(methodName='runTest')

Bases: test.test_argparse.TestCase

class test.test_argparse.ParserTesterMetaclass(name, bases, bodydict)[source]

Bases: type

Adds parser tests using the class attributes.

Classes of this type should specify the following attributes:

argument_signatures – a list of Sig objects which specify
the signatures of Argument objects to be created
failures – a list of args lists that should cause the parser
to fail
successes – a list of (initial_args, options, remaining_args) tuples
where initial_args specifies the string args to be parsed, options is a dict that should match the vars() of the options parsed out of initial_args, and remaining_args should be any remaining unparsed arguments
class test.test_argparse.RFile(name)[source]

Bases: object

seen = {}
class test.test_argparse.Sig(*args, **kwargs)[source]

Bases: object

class test.test_argparse.StdIOBuffer[source]

Bases: _io.StringIO

class test.test_argparse.TempDirMixin[source]

Bases: object

create_readonly_file(filename)[source]
setUp()[source]
tearDown()[source]
class test.test_argparse.TestActionRegistration(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test a user-defined action supplied by registering it

class MyAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: argparse.Action

TestActionRegistration.test()[source]
class test.test_argparse.TestActionUserDefined(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a user-defined option/argument action

class OptionalAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: argparse.Action

class TestActionUserDefined.PositionalAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]

Bases: argparse.Action

TestActionUserDefined.argument_signatures = [<test.test_argparse.Sig object at 0x15E89490>, <test.test_argparse.Sig object at 0x15E89630>]
TestActionUserDefined.failures = []
TestActionUserDefined.parser_class

alias of ErrorRaisingArgumentParser

TestActionUserDefined.parser_signature = <test.test_argparse.Sig object at 0x15E897D0>
TestActionUserDefined.successes = [('-s0.125', NS(badger=2, spam=0.125)), ('42', NS(badger=42, spam=0.25)), ('-s 0.625 1', NS(badger=1, spam=0.625)), ('84 -s2', NS(badger=84, spam=2.0))]
TestActionUserDefined.test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89BD0>>)
TestActionUserDefined.test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89890>>)
TestActionUserDefined.test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89350>>)
TestActionUserDefined.test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89250>>)
TestActionUserDefined.test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89910>>)
TestActionUserDefined.test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89CF0>>)
TestActionUserDefined.test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89BD0>>)
TestActionUserDefined.test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89890>>)
TestActionUserDefined.test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89350>>)
TestActionUserDefined.test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89250>>)
TestActionUserDefined.test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89910>>)
TestActionUserDefined.test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89CF0>>)
class test.test_argparse.TestActionsReturned(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_dest()[source]
test_misc()[source]
class test.test_argparse.TestAddArgumentMetavar(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

EXPECTED_MESSAGE = 'length of metavar tuple does not match nargs'
do_test_exception(nargs, metavar)[source]
do_test_no_exception(nargs, metavar)[source]
test_nargs_1_metavar_length0()[source]
test_nargs_1_metavar_length1()[source]
test_nargs_1_metavar_length2()[source]
test_nargs_1_metavar_length3()[source]
test_nargs_1_metavar_string()[source]
test_nargs_2_metavar_length0()[source]
test_nargs_2_metavar_length1()[source]
test_nargs_2_metavar_length2()[source]
test_nargs_2_metavar_length3()[source]
test_nargs_2_metavar_string()[source]
test_nargs_3_metavar_length0()[source]
test_nargs_3_metavar_length1()[source]
test_nargs_3_metavar_length2()[source]
test_nargs_3_metavar_length3()[source]
test_nargs_3_metavar_string()[source]
test_nargs_None_metavar_length0()[source]
test_nargs_None_metavar_length1()[source]
test_nargs_None_metavar_length2()[source]
test_nargs_None_metavar_length3()[source]
test_nargs_None_metavar_string()[source]
test_nargs_oneormore_metavar_length0()[source]
test_nargs_oneormore_metavar_length1()[source]
test_nargs_oneormore_metavar_length2()[source]
test_nargs_oneormore_metavar_length3()[source]
test_nargs_oneormore_metavar_string()[source]
test_nargs_optional_metavar_length0()[source]
test_nargs_optional_metavar_length1()[source]
test_nargs_optional_metavar_length2()[source]
test_nargs_optional_metavar_length3()[source]
test_nargs_optional_metavar_string()[source]
test_nargs_parser_metavar_length0()[source]
test_nargs_parser_metavar_length1()[source]
test_nargs_parser_metavar_length2()[source]
test_nargs_parser_metavar_length3()[source]
test_nargs_parser_metavar_string()[source]
test_nargs_remainder_metavar_length0()[source]
test_nargs_remainder_metavar_length1()[source]
test_nargs_remainder_metavar_length2()[source]
test_nargs_remainder_metavar_length3()[source]
test_nargs_remainder_metavar_string()[source]
test_nargs_zeroormore_metavar_length0()[source]
test_nargs_zeroormore_metavar_length1()[source]
test_nargs_zeroormore_metavar_length2()[source]
test_nargs_zeroormore_metavar_length3()[source]
test_nargs_zeroormore_metavar_string()[source]
class test.test_argparse.TestAddSubparsers(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test the add_subparsers method

assertArgumentParserError(*args, **kwargs)[source]
setUp()[source]
test_alias_help()[source]
test_alias_invocation()[source]
test_dest()[source]
test_error_alias_invocation()[source]
test_help()[source]
test_help_alternate_prefix_chars()[source]
test_help_extra_prefix_chars()[source]
test_parse_args()[source]
test_parse_args_failures()[source]
test_parse_known_args()[source]
test_parser_command_help()[source]
test_subparser1_help()[source]
test_subparser2_help()[source]
test_subparser_title_help()[source]
class test.test_argparse.TestArgumentError(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_argument_error()[source]
class test.test_argparse.TestArgumentTypeError(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_argument_type_error()[source]
class test.test_argparse.TestArgumentsFromFile(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

Test reading arguments from a file

argument_signatures = [<test.test_argparse.Sig object at 0x058051D0>, <test.test_argparse.Sig object at 0x058054F0>, <test.test_argparse.Sig object at 0x05805210>]
failures = ['', '-b', 'X', '@invalid', '@missing']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05805A30>
setUp()[source]
successes = [('X Y', NS(a=None, x='X', y=['Y'])), ('X -a A Y Z', NS(a='A', x='X', y=['Y', 'Z'])), ('@hello X', NS(a=None, x='hello world!', y=['X'])), ('X @hello', NS(a=None, x='X', y=['hello world!'])), ('-a B @recursive Y Z', NS(a='A', x='hello world!', y=['Y', 'Z'])), ('X @recursive Z -a B', NS(a='B', x='X', y=['hello world!', 'Z'])), (['-a', '', 'X', 'Y'], NS(a='', x='X', y=['Y']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6D70>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6CD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6A30>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6090>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6430>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6AD0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6D70>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6CD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6A30>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6090>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6430>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6AD0>>)
class test.test_argparse.TestArgumentsFromFileConverter(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

Test reading arguments from a file

class FromFileConverterArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=<class 'argparse.HelpFormatter'>, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True)[source]

Bases: test.test_argparse.ErrorRaisingArgumentParser

convert_arg_line_to_args(arg_line)[source]
TestArgumentsFromFileConverter.argument_signatures = [<test.test_argparse.Sig object at 0x156C6730>]
TestArgumentsFromFileConverter.failures = []
TestArgumentsFromFileConverter.parser_class

alias of FromFileConverterArgumentParser

TestArgumentsFromFileConverter.parser_signature = <test.test_argparse.Sig object at 0x156C62B0>
TestArgumentsFromFileConverter.setUp()[source]
TestArgumentsFromFileConverter.successes = [('@hello X', NS(y=['hello', 'world!', 'X']))]
TestArgumentsFromFileConverter.test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6DB0>>)
TestArgumentsFromFileConverter.test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6690>>)
TestArgumentsFromFileConverter.test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6530>>)
TestArgumentsFromFileConverter.test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C65B0>>)
TestArgumentsFromFileConverter.test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6F10>>)
TestArgumentsFromFileConverter.test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6250>>)
TestArgumentsFromFileConverter.test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6DB0>>)
TestArgumentsFromFileConverter.test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6690>>)
TestArgumentsFromFileConverter.test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6530>>)
TestArgumentsFromFileConverter.test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C65B0>>)
TestArgumentsFromFileConverter.test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6F10>>)
TestArgumentsFromFileConverter.test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6250>>)
class test.test_argparse.TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertEqual(obj1, obj2)[source]
setUp()[source]
class test.test_argparse.TestConflictHandling(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_bad_type()[source]
test_conflict_error()[source]
test_resolve_error()[source]
class test.test_argparse.TestDefaultSuppress(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test actions with suppressed defaults

argument_signatures = [<test.test_argparse.Sig object at 0x156C5450>, <test.test_argparse.Sig object at 0x156C5E10>, <test.test_argparse.Sig object at 0x156C5B30>]
failures = ['-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C5610>
successes = [('', NS()), ('a', NS(foo='a')), ('a b', NS(bar=['b'], foo='a')), ('--baz', NS(baz=True)), ('a --baz', NS(baz=True, foo='a')), ('--baz a b', NS(bar=['b'], baz=True, foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5090>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5ED0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5290>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5350>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5890>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5210>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5090>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5ED0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5290>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5350>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5890>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5210>>)
class test.test_argparse.TestEmptyAndSpaceContainingArguments(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

argument_signatures = [<test.test_argparse.Sig object at 0x04E0F370>, <test.test_argparse.Sig object at 0x04E0F130>]
failures = ['-y']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x054EA530>
successes = [([''], NS(x='', y=None)), (['a badger'], NS(x='a badger', y=None)), (['-a badger'], NS(x='-a badger', y=None)), (['-y', ''], NS(x=None, y='')), (['-y', 'a badger'], NS(x=None, y='a badger')), (['-y', '-a badger'], NS(x=None, y='-a badger')), (['--yyy=a badger'], NS(x=None, y='a badger')), (['--yyy=-a badger'], NS(x=None, y='-a badger'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA5B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EADB0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EAFD0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA4D0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA570>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA8B0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA5B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EADB0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EAFD0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA4D0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA570>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA8B0>>)
class test.test_argparse.TestEncoding(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_argparse_module_encoding()[source]
test_test_argparse_module_encoding()[source]
class test.test_argparse.TestFileTypeDefaults(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

Test that a file is not created unless the default is needed

argument_signatures = [<test.test_argparse.Sig object at 0x156C6DF0>]
failures = ['']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C68B0>
setUp()[source]
successes = [('-c good', NS(c=<test.test_argparse.RFile object at 0x156C6630>))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6F70>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6070>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6750>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6BF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C69F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6470>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6F70>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6070>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6750>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6BF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C69F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6470>>)
class test.test_argparse.TestFileTypeOpenArgs(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test that open (the builtin) is correctly called

test_open_args()[source]
class test.test_argparse.TestFileTypeR(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

Test the FileType option/argument type for reading files

argument_signatures = [<test.test_argparse.Sig object at 0x156C69D0>, <test.test_argparse.Sig object at 0x156C6C90>]
failures = ['-x', '', 'non-existent-file.txt']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C6810>
setUp()[source]
successes = [('foo', NS(spam=<test.test_argparse.RFile object at 0x156C6AB0>, x=None)), ('-x foo bar', NS(spam=<test.test_argparse.RFile object at 0x156C6210>, x=<test.test_argparse.RFile object at 0x156C62D0>)), ('bar -x foo', NS(spam=<test.test_argparse.RFile object at 0x156C60B0>, x=<test.test_argparse.RFile object at 0x156C6270>)), ('-x - -', NS(spam=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp1252'>, x=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp1252'>)), ('readonly', NS(spam=<test.test_argparse.RFile object at 0x156C64B0>, x=None))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6C50>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6CB0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6EB0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6A70>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6230>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6FD0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6C50>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6CB0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6EB0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6A70>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6230>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C6FD0>>)
class test.test_argparse.TestFileTypeRB(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

Test the FileType option/argument type for reading files

argument_signatures = [<test.test_argparse.Sig object at 0x156C6410>, <test.test_argparse.Sig object at 0x15E509D0>]
failures = ['-x', '']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15E505D0>
setUp()[source]
successes = [('foo', NS(spam=<test.test_argparse.RFile object at 0x15E50EB0>, x=None)), ('-x foo bar', NS(spam=<test.test_argparse.RFile object at 0x15E50690>, x=<test.test_argparse.RFile object at 0x15E50750>)), ('bar -x foo', NS(spam=<test.test_argparse.RFile object at 0x15E50770>, x=<test.test_argparse.RFile object at 0x15E50D30>)), ('-x - -', NS(spam=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp1252'>, x=<_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp1252'>))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50530>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50AB0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50270>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50E10>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50DF0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50E30>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50530>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50AB0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50270>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50E10>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50DF0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50E30>>)
class test.test_argparse.TestFileTypeRepr(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_r()[source]
test_r_1_replace()[source]
test_r_latin()[source]
test_w_big5_ignore()[source]
test_wb_1()[source]
class test.test_argparse.TestFileTypeW(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

Test the FileType option/argument type for writing files

argument_signatures = [<test.test_argparse.Sig object at 0x15E50810>, <test.test_argparse.Sig object at 0x15E50D10>]
failures = ['-x', '', 'readonly']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15E50390>
setUp()[source]
successes = [('foo', NS(spam=<test.test_argparse.WFile object at 0x15E50E90>, x=None)), ('-x foo bar', NS(spam=<test.test_argparse.WFile object at 0x15E50A30>, x=<test.test_argparse.WFile object at 0x15E50A10>)), ('bar -x foo', NS(spam=<test.test_argparse.WFile object at 0x15E50BB0>, x=<test.test_argparse.WFile object at 0x15E507B0>)), ('-x - -', NS(spam=<_io.TextIOWrapper name=1 mode='w' encoding='cp437'>, x=<_io.TextIOWrapper name=1 mode='w' encoding='cp437'>))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50990>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50590>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50450>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E509F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50E70>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50C30>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50990>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50590>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50450>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E509F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50E70>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50C30>>)
class test.test_argparse.TestFileTypeWB(methodName='runTest')[source]

Bases: test.test_argparse.TempDirMixin, test.test_argparse.ParserTestCase

argument_signatures = [<test.test_argparse.Sig object at 0x15E50650>, <test.test_argparse.Sig object at 0x15E50150>]
failures = ['-x', '']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15E50FB0>
successes = [('foo', NS(spam=<test.test_argparse.WFile object at 0x15E505B0>, x=None)), ('-x foo bar', NS(spam=<test.test_argparse.WFile object at 0x15E502D0>, x=<test.test_argparse.WFile object at 0x15E50970>)), ('bar -x foo', NS(spam=<test.test_argparse.WFile object at 0x15E50F30>, x=<test.test_argparse.WFile object at 0x15E50D50>)), ('-x - -', NS(spam=<_io.TextIOWrapper name=1 mode='w' encoding='cp437'>, x=<_io.TextIOWrapper name=1 mode='w' encoding='cp437'>))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E507D0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50330>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50730>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50EF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50B50>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E507F0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E507D0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50330>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50730>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50EF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E50B50>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E507F0>>)
class test.test_argparse.TestGetDefault(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_get_default()[source]
class test.test_argparse.TestHelpAlternatePrefixChars(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that options display with different prefix characters

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x057F0530>, <test.test_argparse.Sig object at 0x057F0930>]
help = ' usage: PROG [^^foo] [;b BAR]\n \n optional arguments:\n ^^foo foo help\n ;b BAR, ;;bar BAR bar help\n '
parser_signature = <test.test_argparse.Sig object at 0x057F0D70>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057F08D0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057F0B90>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057F08D0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057F0B90>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057F08D0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057F0B90>>)
usage = ' usage: PROG [^^foo] [;b BAR]\n '
version = ''
class test.test_argparse.TestHelpArgumentDefaults(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test the ArgumentDefaultsHelpFormatter

argument_group_signatures = [(<test.test_argparse.Sig object at 0x156C7550>, [<test.test_argparse.Sig object at 0x156C7670>])]
argument_signatures = [<test.test_argparse.Sig object at 0x155EA730>, <test.test_argparse.Sig object at 0x155EA2B0>, <test.test_argparse.Sig object at 0x155EA7F0>, <test.test_argparse.Sig object at 0x156C7D50>]
help = ' usage: PROG [-h] [--foo FOO] [--bar] [--baz BAZ] spam [badger]\n \n description\n\n positional arguments:\n spam spam help\n badger badger help (default: wooden)\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help - oh and by the way, None\n --bar bar help (default: False)\n\n title:\n description\n\n --baz BAZ baz help (default: 42)\n '
parser_signature = <test.test_argparse.Sig object at 0x155EAF50>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C73F0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7A30>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C73F0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7A30>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C73F0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7A30>>)
usage = ' usage: PROG [-h] [--foo FOO] [--bar] [--baz BAZ] spam [badger]\n '
version = ''
class test.test_argparse.TestHelpBiggerOptionalGroups(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Make sure that argument help aligns when options are longer

argument_group_signatures = [(<test.test_argparse.Sig object at 0x15FD0A70>, [<test.test_argparse.Sig object at 0x15FD0D90>, <test.test_argparse.Sig object at 0x15FD0EF0>])]
argument_signatures = [<test.test_argparse.Sig object at 0x15FD0F90>, <test.test_argparse.Sig object at 0x15FD0D50>, <test.test_argparse.Sig object at 0x15FD0CF0>, <test.test_argparse.Sig object at 0x15FD0E10>, <test.test_argparse.Sig object at 0x15FD03F0>]
help = " usage: PROG [-h] [-v] [-x] [--y Y] [-z Z [Z ...]] foo bar baz\n \n DESCRIPTION\n\n positional arguments:\n foo FOO HELP\n bar BAR HELP\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -x X HELP\n --y Y Y HELP\n\n GROUP TITLE:\n GROUP DESCRIPTION\n\n baz BAZ HELP\n -z Z [Z ...] Z HELP\n\n EPILOG\n "
parser_signature = <test.test_argparse.Sig object at 0x15FD01D0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0E90>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0AF0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0E90>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0AF0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0E90>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0AF0>>)
usage = ' usage: PROG [-h] [-v] [-x] [--y Y] [-z Z [Z ...]] foo bar baz\n '
version = ' 0.1\n '
class test.test_argparse.TestHelpBiggerOptionals(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Make sure that argument help aligns when options are longer

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x15FD09F0>, <test.test_argparse.Sig object at 0x15FD0270>, <test.test_argparse.Sig object at 0x15FD0CB0>, <test.test_argparse.Sig object at 0x15FD0150>, <test.test_argparse.Sig object at 0x15FD09B0>]
help = " usage: PROG [-h] [-v] [-x] [--y Y] foo bar\n \n DESCRIPTION\n\n positional arguments:\n foo FOO HELP\n bar BAR HELP\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -x X HELP\n --y Y Y HELP\n\n EPILOG\n "
parser_signature = <test.test_argparse.Sig object at 0x15FD0250>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0A10>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0A30>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0A10>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0A30>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0A10>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0A30>>)
usage = ' usage: PROG [-h] [-v] [-x] [--y Y] foo bar\n '
version = ' 0.1\n '
class test.test_argparse.TestHelpBiggerPositionals(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Make sure that help aligns when arguments are longer

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x15FD0590>, <test.test_argparse.Sig object at 0x15FD0C50>, <test.test_argparse.Sig object at 0x15FD02F0>, <test.test_argparse.Sig object at 0x15FD0570>]
help = ' usage: USAGE\n \n DESCRIPTION\n\n positional arguments:\n ekiekiekifekang EKI HELP\n bar BAR HELP\n\n optional arguments:\n -h, --help show this help message and exit\n -x X HELP\n --y Y Y HELP\n '
parser_signature = <test.test_argparse.Sig object at 0x15FD0D30>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05A4DD90>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05A4D250>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05A4DD90>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05A4D250>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05A4DD90>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05A4D250>>)
usage = ' usage: USAGE\n '
version = ''
class test.test_argparse.TestHelpFormattingMetaclass(name, bases, bodydict)[source]

Bases: type

class test.test_argparse.TestHelpMetavarTypeFormatter(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156C7050>, <test.test_argparse.Sig object at 0x156C79D0>, <test.test_argparse.Sig object at 0x156C7FD0>]
custom_type(string)[source]
help = ' usage: PROG [-h] [-b custom_type] [-c SOME FLOAT] int\n \n description\n\n positional arguments:\n int\n\n optional arguments:\n -h, --help show this help message and exit\n -b custom_type\n -c SOME FLOAT\n '
parser_signature = <test.test_argparse.Sig object at 0x156C7B10>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C77F0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7530>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C77F0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7530>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C77F0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7530>>)
usage = ' usage: PROG [-h] [-b custom_type] [-c SOME FLOAT] int\n '
version = ''
class test.test_argparse.TestHelpNoHelpOptional(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that the –help argument can be suppressed help messages

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x057F0710>, <test.test_argparse.Sig object at 0x057F0F30>]
help = ' usage: PROG [--foo FOO] spam\n \n positional arguments:\n spam spam help\n\n optional arguments:\n --foo FOO foo help\n '
parser_signature = <test.test_argparse.Sig object at 0x057F0BD0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x17198B50>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x17198A10>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x17198B50>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x17198A10>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x17198B50>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x17198A10>>)
usage = ' usage: PROG [--foo FOO] spam\n '
version = ''
class test.test_argparse.TestHelpNone(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that no errors occur if no help is specified

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x053CF0D0>, <test.test_argparse.Sig object at 0x16AF7430>]
help = ' usage: PROG [-h] [--foo FOO] spam\n \n positional arguments:\n spam\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO\n '
parser_signature = <test.test_argparse.Sig object at 0x170E5270>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x16AF7890>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x16AF7330>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x16AF7890>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x16AF7330>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x16AF7890>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x16AF7330>>)
usage = ' usage: PROG [-h] [--foo FOO] spam\n '
version = ''
class test.test_argparse.TestHelpOnlyUserGroups(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test basic usage messages

argument_group_signatures = [(<test.test_argparse.Sig object at 0x15AB0910>, [<test.test_argparse.Sig object at 0x15AB00D0>, <test.test_argparse.Sig object at 0x15AB0E50>]), (<test.test_argparse.Sig object at 0x15AB0B90>, [<test.test_argparse.Sig object at 0x15AB0A70>, <test.test_argparse.Sig object at 0x15AB0050>])]
argument_signatures = []
help = ' usage: PROG [-x X] [-y Y] a b\n \n xxxx:\n -x X x\n a a\n\n yyyy:\n b b\n -y Y y\n '
parser_signature = <test.test_argparse.Sig object at 0x15AB0650>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156EDDB0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED270>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156EDDB0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED270>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156EDDB0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED270>>)
usage = ' usage: PROG [-x X] [-y Y] a b\n '
version = ''
class test.test_argparse.TestHelpRawDescription(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test the RawTextHelpFormatter

argument_group_signatures = [(<test.test_argparse.Sig object at 0x155EAD50>, [<test.test_argparse.Sig object at 0x155EAC90>])]
argument_signatures = [<test.test_argparse.Sig object at 0x155EA970>, <test.test_argparse.Sig object at 0x155EA8D0>]
help = ' usage: PROG [-h] [--foo FOO] [--bar BAR] spam\n \n Keep the formatting\n exactly as it is written\n\n here\n\n positional arguments:\n spam spam help\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help should not retain this odd formatting\n\n title:\n This text\n should be indented\n exactly like it is here\n\n --bar BAR bar help\n '
parser_signature = <test.test_argparse.Sig object at 0x155EA890>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA470>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA210>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA470>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA210>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA470>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA210>>)
usage = ' usage: PROG [-h] [--foo FOO] [--bar BAR] spam\n '
version = ''
class test.test_argparse.TestHelpRawText(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test the RawTextHelpFormatter

argument_group_signatures = [(<test.test_argparse.Sig object at 0x155EAF70>, [<test.test_argparse.Sig object at 0x155EA2D0>])]
argument_signatures = [<test.test_argparse.Sig object at 0x155EA630>, <test.test_argparse.Sig object at 0x155EA7B0>]
help = ' usage: PROG [-h] [--foo FOO] [--bar BAR] spam\n \n Keep the formatting\n exactly as it is written\n\n here\n\n positional arguments:\n spam spam help\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help should also\n appear as given here\n\n title:\n This text\n should be indented\n exactly like it is here\n\n --bar BAR bar help\n '
parser_signature = <test.test_argparse.Sig object at 0x155EAE50>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EAE10>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA490>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EAE10>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA490>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EAE10>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA490>>)
usage = ' usage: PROG [-h] [--foo FOO] [--bar BAR] spam\n '
version = ''
class test.test_argparse.TestHelpReformatting(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Make sure that text after short names starts on the first line

argument_group_signatures = [(<test.test_argparse.Sig object at 0x05774070>, [<test.test_argparse.Sig object at 0x057741D0>])]
argument_signatures = [<test.test_argparse.Sig object at 0x05774030>, <test.test_argparse.Sig object at 0x05774770>]
help = ' usage: PROG [-h] [-x XX] [-a] yyy\n \n oddly formatted description that is so long that it should go onto multiple\n lines when wrapped\n\n positional arguments:\n yyy normal y help\n\n optional arguments:\n -h, --help show this help message and exit\n -x XX oddly formatted -x help\n\n title:\n oddly formatted group description\n\n -a oddly formatted -a help again, so long that it should be wrapped\n over multiple lines\n '
parser_signature = <test.test_argparse.Sig object at 0x05A4DEF0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057743B0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05774790>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057743B0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05774790>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057743B0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05774790>>)
usage = ' usage: PROG [-h] [-x XX] [-a] yyy\n '
version = ''
class test.test_argparse.TestHelpRequiredOptional(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that required options don’t look optional

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x057E10B0>]
help = ' usage: PROG [-h] --foo FOO\n \n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help\n '
parser_signature = <test.test_argparse.Sig object at 0x057E1810>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1CF0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1BF0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1CF0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1BF0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1CF0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1BF0>>)
usage = ' usage: PROG [-h] --foo FOO\n '
version = ''
class test.test_argparse.TestHelpSubparsersOrdering(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test ordering of subcommands in help matches the code

argument_signatures = [<test.test_argparse.Sig object at 0x156C72B0>]
help = " usage: PROG [-h] [-v] {a,b,c,d,e} ...\n \n display some subcommands\n\n positional arguments:\n {a,b,c,d,e}\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n "
parser_signature = <test.test_argparse.Sig object at 0x156C7310>
subparsers_signatures = [<test.test_argparse.Sig object at 0x156C7D30>, <test.test_argparse.Sig object at 0x156C7270>, <test.test_argparse.Sig object at 0x156C7970>, <test.test_argparse.Sig object at 0x156C75B0>, <test.test_argparse.Sig object at 0x156C7CF0>]
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7390>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7850>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7390>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7850>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7390>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7850>>)
usage = ' usage: PROG [-h] [-v] {a,b,c,d,e} ...\n '
version = ' 0.1\n '
class test.test_argparse.TestHelpSubparsersWithHelpOrdering(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test ordering of subcommands in help matches the code

argument_signatures = [<test.test_argparse.Sig object at 0x156C7BF0>]
help = " usage: PROG [-h] [-v] {a,b,c,d,e} ...\n \n display some subcommands\n\n positional arguments:\n {a,b,c,d,e}\n a a subcommand help\n b b subcommand help\n c c subcommand help\n d d subcommand help\n e e subcommand help\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n "
parser_signature = <test.test_argparse.Sig object at 0x156C7470>
subcommand_data = (('a', 'a subcommand help'), ('b', 'b subcommand help'), ('c', 'c subcommand help'), ('d', 'd subcommand help'), ('e', 'e subcommand help'))
subparsers_signatures = [<test.test_argparse.Sig object at 0x156C7AD0>, <test.test_argparse.Sig object at 0x156C72D0>, <test.test_argparse.Sig object at 0x156C7F90>, <test.test_argparse.Sig object at 0x156C7B90>, <test.test_argparse.Sig object at 0x156C7ED0>]
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7150>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7A10>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7150>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7A10>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7150>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7A10>>)
usage = ' usage: PROG [-h] [-v] {a,b,c,d,e} ...\n '
version = ' 0.1\n '
class test.test_argparse.TestHelpSuppressOptional(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that optional arguments can be suppressed in help messages

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x057E14B0>, <test.test_argparse.Sig object at 0x057E11D0>]
help = ' usage: PROG spam\n \n positional arguments:\n spam spam help\n '
parser_signature = <test.test_argparse.Sig object at 0x057E1C50>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1110>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1950>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1110>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1950>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1110>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1950>>)
usage = ' usage: PROG spam\n '
version = ''
class test.test_argparse.TestHelpSuppressOptionalGroup(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that optional groups can be suppressed in help messages

argument_group_signatures = [(<test.test_argparse.Sig object at 0x057E1410>, [<test.test_argparse.Sig object at 0x057E1C90>])]
argument_signatures = [<test.test_argparse.Sig object at 0x057E1E30>, <test.test_argparse.Sig object at 0x057E1790>]
help = ' usage: PROG [-h] [--foo FOO] spam\n \n positional arguments:\n spam spam help\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help\n '
parser_signature = <test.test_argparse.Sig object at 0x057E15D0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1510>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1B50>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1510>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1B50>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1510>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1B50>>)
usage = ' usage: PROG [-h] [--foo FOO] spam\n '
version = ''
class test.test_argparse.TestHelpSuppressPositional(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that positional arguments can be suppressed in help messages

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x057E1E10>, <test.test_argparse.Sig object at 0x057E1910>]
help = ' usage: PROG [-h] [--foo FOO]\n \n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help\n '
parser_signature = <test.test_argparse.Sig object at 0x057E1E50>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1930>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1B10>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1930>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1B10>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1930>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x057E1B10>>)
usage = ' usage: PROG [-h] [--foo FOO]\n '
version = ''
class test.test_argparse.TestHelpSuppressUsage(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that items can be suppressed in usage messages

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x15C93C70>, <test.test_argparse.Sig object at 0x15C936F0>]
help = ' positional arguments:\n spam spam help\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO foo help\n '
parser_signature = <test.test_argparse.Sig object at 0x118ABD10>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15C93B30>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15C93FD0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15C93B30>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15C93FD0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15C93B30>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15C93FD0>>)
usage = ''
version = ''
class test.test_argparse.TestHelpTupleMetavar(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test specifying metavar as a tuple

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x155EAFD0>, <test.test_argparse.Sig object at 0x155EA130>, <test.test_argparse.Sig object at 0x155EA4B0>, <test.test_argparse.Sig object at 0x155EA670>]
help = ' usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]]\n \n optional arguments:\n -h, --help show this help message and exit\n -w W1 [W2 ...] w\n -x [X1 [X2 ...]] x\n -y Y1 Y2 Y3 y\n -z [Z1] z\n '
parser_signature = <test.test_argparse.Sig object at 0x155EA1B0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EADD0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA0B0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EADD0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA0B0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EADD0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x155EA0B0>>)
usage = ' usage: PROG [-h] [-w W1 [W2 ...]] [-x [X1 [X2 ...]]] [-y Y1 Y2 Y3] [-z [Z1]]\n '
version = ''
class test.test_argparse.TestHelpUsage(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test basic usage messages

argument_group_signatures = [(<test.test_argparse.Sig object at 0x15AB0EF0>, [<test.test_argparse.Sig object at 0x15AB03B0>, <test.test_argparse.Sig object at 0x15AB0550>, <test.test_argparse.Sig object at 0x15AB0150>, <test.test_argparse.Sig object at 0x15AB0210>])]
argument_signatures = [<test.test_argparse.Sig object at 0x15AB03D0>, <test.test_argparse.Sig object at 0x15AB0D50>, <test.test_argparse.Sig object at 0x15AB02D0>, <test.test_argparse.Sig object at 0x15AB0D10>, <test.test_argparse.Sig object at 0x15AB0990>]
help = ' usage: PROG [-h] [-w W [W ...]] [-x [X [X ...]]] [-y [Y]] [-z Z Z Z]\n a b b [c] [d [d ...]] e [e ...]\n \n positional arguments:\n a a\n b b\n c c\n\n optional arguments:\n -h, --help show this help message and exit\n -w W [W ...] w\n -x [X [X ...]] x\n\n group:\n -y [Y] y\n -z Z Z Z z\n d d\n e e\n '
parser_signature = <test.test_argparse.Sig object at 0x15AB0C30>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0810>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0CB0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0810>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0CB0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0810>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0CB0>>)
usage = ' usage: PROG [-h] [-w W [W ...]] [-x [X [X ...]]] [-y [Y]] [-z Z Z Z]\n a b b [c] [d [d ...]] e [e ...]\n '
version = ''
class test.test_argparse.TestHelpUsageLongProg(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where the prog is long

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156EDE70>, <test.test_argparse.Sig object at 0x156ED130>, <test.test_argparse.Sig object at 0x156ED4B0>, <test.test_argparse.Sig object at 0x156ED0D0>]
help = ' usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n [-h] [-w W] [-x X] a b\n \n positional arguments:\n a\n b\n\n optional arguments:\n -h, --help show this help message and exit\n -w W\n -x X\n '
parser_signature = <test.test_argparse.Sig object at 0x156ED810>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED8F0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED0B0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED8F0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED0B0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED8F0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED0B0>>)
usage = ' usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n [-h] [-w W] [-x X] a b\n '
version = ''
class test.test_argparse.TestHelpUsageLongProgOptionsWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where the prog is long and the optionals wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156ED470>, <test.test_argparse.Sig object at 0x156ED850>, <test.test_argparse.Sig object at 0x156ED2F0>, <test.test_argparse.Sig object at 0x156EDF30>, <test.test_argparse.Sig object at 0x156EDCD0>, <test.test_argparse.Sig object at 0x156EDC70>]
help = ' usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]\n [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n a b\n \n positional arguments:\n a\n b\n\n optional arguments:\n -h, --help show this help message and exit\n -w WWWWWWWWWWWWWWWWWWWWWWWWW\n -x XXXXXXXXXXXXXXXXXXXXXXXXX\n -y YYYYYYYYYYYYYYYYYYYYYYYYY\n -z ZZZZZZZZZZZZZZZZZZZZZZZZZ\n '
parser_signature = <test.test_argparse.Sig object at 0x156EDEF0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED750>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED310>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED750>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED310>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED750>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED310>>)
usage = ' usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]\n [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n a b\n '
version = ''
class test.test_argparse.TestHelpUsageLongProgPositionalsWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where the prog is long and the positionals wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156ED2D0>, <test.test_argparse.Sig object at 0x156EDC50>, <test.test_argparse.Sig object at 0x156ED5D0>]
help = ' usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n \n positional arguments:\n aaaaaaaaaaaaaaaaaaaaaaaaa\n bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n '
parser_signature = <test.test_argparse.Sig object at 0x156ED6D0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED730>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED3D0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED730>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED3D0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED730>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED3D0>>)
usage = ' usage: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP\n aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n '
version = ''
class test.test_argparse.TestHelpUsageOptionalsOnlyWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where there are only optionals and they wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x053FF4B0>, <test.test_argparse.Sig object at 0x053FFB70>, <test.test_argparse.Sig object at 0x053FF450>]
help = ' usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]\n [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n \n optional arguments:\n -h, --help show this help message and exit\n -x XXXXXXXXXXXXXXXXXXXXXXXXX\n -y YYYYYYYYYYYYYYYYYYYYYYYYY\n -z ZZZZZZZZZZZZZZZZZZZZZZZZZ\n '
parser_signature = <test.test_argparse.Sig object at 0x053FFED0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FFA50>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF370>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FFA50>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF370>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FFA50>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF370>>)
usage = ' usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]\n [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n '
version = ''
class test.test_argparse.TestHelpUsageOptionalsPositionalsWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where the optionals and positionals wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x053FFD50>, <test.test_argparse.Sig object at 0x053FF1F0>, <test.test_argparse.Sig object at 0x053FFBD0>, <test.test_argparse.Sig object at 0x053FF2D0>, <test.test_argparse.Sig object at 0x053FF490>, <test.test_argparse.Sig object at 0x053FF870>]
help = ' usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]\n [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n \n positional arguments:\n aaaaaaaaaaaaaaaaaaaaaaaaa\n bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n\n optional arguments:\n -h, --help show this help message and exit\n -x XXXXXXXXXXXXXXXXXXXXXXXXX\n -y YYYYYYYYYYYYYYYYYYYYYYYYY\n -z ZZZZZZZZZZZZZZZZZZZZZZZZZ\n '
parser_signature = <test.test_argparse.Sig object at 0x053FF770>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF570>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF230>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF570>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF230>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF570>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF230>>)
usage = ' usage: PROG [-h] [-x XXXXXXXXXXXXXXXXXXXXXXXXX] [-y YYYYYYYYYYYYYYYYYYYYYYYYY]\n [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n '
version = ''
class test.test_argparse.TestHelpUsageOptionalsWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where the optionals wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156ED510>, <test.test_argparse.Sig object at 0x156EDD10>, <test.test_argparse.Sig object at 0x156ED950>, <test.test_argparse.Sig object at 0x156ED990>, <test.test_argparse.Sig object at 0x156ED050>, <test.test_argparse.Sig object at 0x156ED6B0>, <test.test_argparse.Sig object at 0x156ED450>]
help = ' usage: PROG [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]\n [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n a b c\n \n positional arguments:\n a\n b\n c\n\n optional arguments:\n -h, --help show this help message and exit\n -w WWWWWWWWWWWWWWWWWWWWWWWWW\n -x XXXXXXXXXXXXXXXXXXXXXXXXX\n -y YYYYYYYYYYYYYYYYYYYYYYYYY\n -z ZZZZZZZZZZZZZZZZZZZZZZZZZ\n '
parser_signature = <test.test_argparse.Sig object at 0x156ED1B0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED490>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED550>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED490>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED550>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED490>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156ED550>>)
usage = ' usage: PROG [-h] [-w WWWWWWWWWWWWWWWWWWWWWWWWW] [-x XXXXXXXXXXXXXXXXXXXXXXXXX]\n [-y YYYYYYYYYYYYYYYYYYYYYYYYY] [-z ZZZZZZZZZZZZZZZZZZZZZZZZZ]\n a b c\n '
version = ''
class test.test_argparse.TestHelpUsagePositionalsOnlyWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where there are only positionals and they wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x053FFB90>, <test.test_argparse.Sig object at 0x053FF950>, <test.test_argparse.Sig object at 0x053FF5B0>]
help = ' usage: PROG aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n \n positional arguments:\n aaaaaaaaaaaaaaaaaaaaaaaaa\n bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n '
parser_signature = <test.test_argparse.Sig object at 0x053FF6F0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B27110>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B278F0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B27110>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B278F0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B27110>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B278F0>>)
usage = ' usage: PROG aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n '
version = ''
class test.test_argparse.TestHelpUsagePositionalsWrap(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test usage messages where the positionals wrap

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156EDAB0>, <test.test_argparse.Sig object at 0x156ED350>, <test.test_argparse.Sig object at 0x156EDE50>, <test.test_argparse.Sig object at 0x156EDBD0>, <test.test_argparse.Sig object at 0x053FF5F0>, <test.test_argparse.Sig object at 0x053FF5D0>]
help = ' usage: PROG [-h] [-x X] [-y Y] [-z Z]\n aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n \n positional arguments:\n aaaaaaaaaaaaaaaaaaaaaaaaa\n bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n\n optional arguments:\n -h, --help show this help message and exit\n -x X\n -y Y\n -z Z\n '
parser_signature = <test.test_argparse.Sig object at 0x156ED4D0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF910>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF030>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF910>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF030>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF910>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x053FF030>>)
usage = ' usage: PROG [-h] [-x X] [-y Y] [-z Z]\n aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb\n ccccccccccccccccccccccccc\n '
version = ''
class test.test_argparse.TestHelpVariableExpansion(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that variables are expanded properly in help messages

argument_group_signatures = [(<test.test_argparse.Sig object at 0x15B27530>, [<test.test_argparse.Sig object at 0x15B27A50>, <test.test_argparse.Sig object at 0x15B27C30>])]
argument_signatures = [<test.test_argparse.Sig object at 0x15B27730>, <test.test_argparse.Sig object at 0x15B272D0>, <test.test_argparse.Sig object at 0x15B27A10>, <test.test_argparse.Sig object at 0x15B270F0>, <test.test_argparse.Sig object at 0x15B27770>, <test.test_argparse.Sig object at 0x15B27950>]
help = ' usage: PROG [-h] [-x X] [-y] [--foo {a,b,c}] [--bar BBB] [-a A] [-b B]\n spam badger\n \n positional arguments:\n spam spam PROG None\n badger badger PROG 0.5\n\n optional arguments:\n -h, --help show this help message and exit\n -x X x PROG None int %\n -y y PROG 42 XXX\n --foo {a,b,c} foo PROG None a, b, c\n --bar BBB bar PROG baz bar\n\n group:\n -a A a PROG None\n -b B b PROG -1\n '
parser_signature = <test.test_argparse.Sig object at 0x15B27AF0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B27DB0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B278B0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B27DB0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B278B0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B27DB0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15B278B0>>)
usage = ' usage: PROG [-h] [-x X] [-y] [--foo {a,b,c}] [--bar BBB] [-a A] [-b B]\n spam badger\n '
version = ''
class test.test_argparse.TestHelpVariableExpansionNoArguments(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that variables are expanded properly with no arguments

argument_group_signatures = []
argument_signatures = []
help = ' usage: PROG\n '
parser_signature = <test.test_argparse.Sig object at 0x118ABEB0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB290>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118ABDF0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB290>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118ABDF0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB290>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118ABDF0>>)
usage = ' usage: PROG\n '
version = ''
class test.test_argparse.TestHelpVariableExpansionUsageSupplied(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that variables are expanded properly when usage= is present

argument_group_signatures = []
argument_signatures = []
help = ' usage: PROG FOO\n \n optional arguments:\n -h, --help show this help message and exit\n '
parser_signature = <test.test_argparse.Sig object at 0x15B270D0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB1F0>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB4D0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB1F0>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB4D0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB1F0>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x118AB4D0>>)
usage = ' usage: PROG FOO\n '
version = ''
class test.test_argparse.TestHelpVersionAction(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test the default help for the version action

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x156C7F10>]
help = " usage: PROG [-h] [-V]\n \n description\n\n optional arguments:\n -h, --help show this help message and exit\n -V, --version show program's version number and exit\n "
parser_signature = <test.test_argparse.Sig object at 0x156C7170>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7690>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C77D0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7690>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C77D0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C7690>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x156C77D0>>)
usage = ' usage: PROG [-h] [-V]\n '
version = ''
class test.test_argparse.TestHelpVersionOptional(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test that the –version argument can be suppressed help messages

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x17198F30>, <test.test_argparse.Sig object at 0x17198FB0>, <test.test_argparse.Sig object at 0x17198F10>]
help = " usage: PROG [-h] [-v] [--foo FOO] spam\n \n positional arguments:\n spam spam help\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n --foo FOO foo help\n "
parser_signature = <test.test_argparse.Sig object at 0x17198E70>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x170E5290>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x170E5310>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x170E5290>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x170E5310>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x170E5290>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x170E5310>>)
usage = ' usage: PROG [-h] [-v] [--foo FOO] spam\n '
version = ' 1.0\n '
class test.test_argparse.TestHelpWrappingLongNames(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Make sure that text after long names starts on the next line

argument_group_signatures = [(<test.test_argparse.Sig object at 0x15AB0530>, [<test.test_argparse.Sig object at 0x15AB0270>, <test.test_argparse.Sig object at 0x15AB05B0>])]
argument_signatures = [<test.test_argparse.Sig object at 0x15AB0850>, <test.test_argparse.Sig object at 0x15AB0230>, <test.test_argparse.Sig object at 0x15AB0410>]
help = " usage: USAGE\n \n D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD\n DD DD DD DD D\n\n positional arguments:\n yyyyyyyyyyyyyyyyyyyyyyyyy\n YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH\n YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --version show program's version number and exit\n -x XXXXXXXXXXXXXXXXXXXXXXXXX\n XH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH\n XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XHXH XH\n\n ALPHAS:\n -a AAAAAAAAAAAAAAAAAAAAAAAAA\n AH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH\n AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AHAH AH\n zzzzzzzzzzzzzzzzzzzzzzzzz\n ZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH\n ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZHZH ZH\n "
parser_signature = <test.test_argparse.Sig object at 0x15AB0710>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0030>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB01B0>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0030>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB01B0>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB0030>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15AB01B0>>)
usage = ' usage: USAGE\n '
version = ' V VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV VV\n VV VV VV VV V\n '
class test.test_argparse.TestHelpWrappingShortNames(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Make sure that text after short names starts on the first line

argument_group_signatures = [(<test.test_argparse.Sig object at 0x05774270>, [<test.test_argparse.Sig object at 0x05774D10>])]
argument_signatures = [<test.test_argparse.Sig object at 0x057742D0>, <test.test_argparse.Sig object at 0x05774910>]
help = ' usage: PROG [-h] [-x XX] [-a] yyy\n \n D DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD\n DD DD DD DD D\n\n positional arguments:\n yyy YH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH YHYH\n YHYH YHYH YHYH YHYH YHYH YHYH YHYH YH\n\n optional arguments:\n -h, --help show this help message and exit\n -x XX XHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH\n HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HXXHH HX\n\n ALPHAS:\n -a AHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH HHAAHHH\n HHAAHHH HHAAHHH HHA\n '
parser_signature = <test.test_argparse.Sig object at 0x057745B0>
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05352E70>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05352250>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05352E70>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05352250>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05352E70>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x05352250>>)
usage = ' usage: PROG [-h] [-x XX] [-a] yyy\n '
version = ''
class test.test_argparse.TestImportStar(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test()[source]
test_all_exports_everything_but_modules()[source]
class test.test_argparse.TestInvalidArgumentConstructors(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test a bunch of invalid Argument constructors

assertTypeError(*args, **kwargs)[source]
assertValueError(*args, **kwargs)[source]
test_invalid_action()[source]
test_invalid_keyword_arguments()[source]
test_invalid_option_strings()[source]
test_invalid_type()[source]
test_missing_destination()[source]
test_more_than_one_argument_actions()[source]
test_multiple_dest()[source]
test_no_argument_actions()[source]
test_no_argument_no_const_actions()[source]
test_parsers_action_missing_params()[source]
test_required_const_actions()[source]
test_required_positional()[source]
test_user_defined_action()[source]
class test.test_argparse.TestMessageContentError(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_missing_argument_name_in_message()[source]
test_optional_optional_not_in_message()[source]
test_optional_positional_not_in_message()[source]
class test.test_argparse.TestMutuallyExclusiveFirstSuppressed(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['-x X -y']
get_parser(required)[source]
help = '\n optional arguments:\n -h, --help show this help message and exit\n -y y help\n '
successes = [('-x X', NS(x='X', y=True)), ('-x X -x Y', NS(x='Y', y=True)), ('-y', NS(x=None, y=False))]
successes_when_not_required = [('', NS(x=None, y=True))]
usage_when_not_required = ' usage: PROG [-h] [-y]\n '
usage_when_required = ' usage: PROG [-h] -y\n '
class test.test_argparse.TestMutuallyExclusiveFirstSuppressedParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveFirstSuppressed

class test.test_argparse.TestMutuallyExclusiveGroupErrors(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_help()[source]
test_invalid_add_argument()[source]
test_invalid_add_argument_group()[source]
class test.test_argparse.TestMutuallyExclusiveGroupErrorsParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveGroupErrors

class test.test_argparse.TestMutuallyExclusiveInGroup(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['--bar X --baz Y', '--baz X --bar Y']
get_parser(required=None)[source]
help = '\n optional arguments:\n -h, --help show this help message and exit\n\n Titled group:\n Group description\n\n --bar BAR bar help\n --baz BAZ baz help\n '
successes = [('--bar X', NS(bar='X', baz=None)), ('--baz Y', NS(bar=None, baz='Y'))]
successes_when_not_required = [('', NS(bar=None, baz=None))]
usage_when_not_required = ' usage: PROG [-h] [--bar BAR | --baz BAZ]\n '
usage_when_required = ' usage: PROG [-h] (--bar BAR | --baz BAZ)\n '
class test.test_argparse.TestMutuallyExclusiveLong(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['--klmno X --pqrst Y']
get_parser(required=None)[source]
help = '\n optional arguments:\n -h, --help show this help message and exit\n --abcde ABCDE abcde help\n --fghij FGHIJ fghij help\n --klmno KLMNO klmno help\n --pqrst PQRST pqrst help\n '
successes = [('--klmno X', NS(abcde=None, fghij=None, klmno='X', pqrst=None)), ('--abcde Y --klmno X', NS(abcde='Y', fghij=None, klmno='X', pqrst=None)), ('--pqrst X', NS(abcde=None, fghij=None, klmno=None, pqrst='X')), ('--pqrst X --fghij Y', NS(abcde=None, fghij='Y', klmno=None, pqrst='X'))]
successes_when_not_required = [('', NS(abcde=None, fghij=None, klmno=None, pqrst=None))]
usage_when_not_required = ' usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ]\n [--klmno KLMNO | --pqrst PQRST]\n '
usage_when_required = ' usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ]\n (--klmno KLMNO | --pqrst PQRST)\n '
class test.test_argparse.TestMutuallyExclusiveLongParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveLong

class test.test_argparse.TestMutuallyExclusiveManySuppressed(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['--spam --badger', '--badger --bladder B', '--bladder B --spam']
get_parser(required)[source]
help = '\n optional arguments:\n -h, --help show this help message and exit\n '
successes = [('--spam', NS(badger=True, bladder=None, spam=True)), ('--badger', NS(badger=False, bladder=None, spam=False)), ('--bladder B', NS(badger=True, bladder='B', spam=False)), ('--spam --spam', NS(badger=True, bladder=None, spam=True))]
successes_when_not_required = [('', NS(badger=True, bladder=None, spam=False))]
usage_when_not_required = ' usage: PROG [-h]\n '
usage_when_required = ' usage: PROG [-h]\n '
class test.test_argparse.TestMutuallyExclusiveManySuppressedParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveManySuppressed

class test.test_argparse.TestMutuallyExclusiveOptionalAndPositional(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['--foo --spam S', '--spam S X', 'X --foo', 'X Y Z --spam S', '--foo X Y']
get_parser(required)[source]
help = '\n positional arguments:\n badger BADGER\n\n optional arguments:\n -h, --help show this help message and exit\n --foo FOO\n --spam SPAM SPAM\n '
successes = [('--foo', NS(badger='X', foo=True, spam=None)), ('--spam S', NS(badger='X', foo=False, spam='S')), ('X', NS(badger=['X'], foo=False, spam=None)), ('X Y Z', NS(badger=['X', 'Y', 'Z'], foo=False, spam=None))]
successes_when_not_required = [('', NS(badger='X', foo=False, spam=None))]
usage_when_not_required = ' usage: PROG [-h] [--foo | --spam SPAM | badger [badger ...]]\n '
usage_when_required = ' usage: PROG [-h] (--foo | --spam SPAM | badger [badger ...])\n '
class test.test_argparse.TestMutuallyExclusiveOptionalAndPositionalParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveOptionalAndPositional

class test.test_argparse.TestMutuallyExclusiveOptionalsAndPositionalsMixed(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['X A -b', '-b -c', '-c X A']
get_parser(required)[source]
help = '\n positional arguments:\n x x help\n a a help\n\n optional arguments:\n -h, --help show this help message and exit\n -y y help\n -b b help\n -c c help\n '
successes = [('X A', NS(a='A', b=False, c=False, x='X', y=False)), ('X -b', NS(a=None, b=True, c=False, x='X', y=False)), ('X -c', NS(a=None, b=False, c=True, x='X', y=False)), ('X A -y', NS(a='A', b=False, c=False, x='X', y=True)), ('X -y -b', NS(a=None, b=True, c=False, x='X', y=True))]
successes_when_not_required = [('X', NS(a=None, b=False, c=False, x='X', y=False)), ('X -y', NS(a=None, b=False, c=False, x='X', y=True))]
usage_when_not_required = ' usage: PROG [-h] [-y] [-b] [-c] x [a]\n '
usage_when_required = ' usage: PROG [-h] [-y] [-b] [-c] x [a]\n '
class test.test_argparse.TestMutuallyExclusiveOptionalsAndPositionalsMixedParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveOptionalsAndPositionalsMixed

class test.test_argparse.TestMutuallyExclusiveOptionalsMixed(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['-a -b', '-b -c', '-a -c', '-a -b -c']
get_parser(required)[source]
help = '\n optional arguments:\n -h, --help show this help message and exit\n -x x help\n -a a help\n -b b help\n -y y help\n -c c help\n '
successes = [('-a', NS(a=True, b=False, c=False, x=False, y=False)), ('-b', NS(a=False, b=True, c=False, x=False, y=False)), ('-c', NS(a=False, b=False, c=True, x=False, y=False)), ('-a -x', NS(a=True, b=False, c=False, x=True, y=False)), ('-y -b', NS(a=False, b=True, c=False, x=False, y=True)), ('-x -y -c', NS(a=False, b=False, c=True, x=True, y=True))]
successes_when_not_required = [('', NS(a=False, b=False, c=False, x=False, y=False)), ('-x', NS(a=False, b=False, c=False, x=True, y=False)), ('-y', NS(a=False, b=False, c=False, x=False, y=True))]
usage_when_not_required = ' usage: PROG [-h] [-x] [-a] [-b] [-y] [-c]\n '
usage_when_required = ' usage: PROG [-h] [-x] [-a] [-b] [-y] [-c]\n '
class test.test_argparse.TestMutuallyExclusiveOptionalsMixedParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveOptionalsMixed

class test.test_argparse.TestMutuallyExclusiveSimple(methodName='runTest')[source]

Bases: test.test_argparse.MEMixin, test.test_argparse.TestCase

failures = ['--bar X --baz Y', '--bar X --baz']
get_parser(required=None)[source]
help = '\n optional arguments:\n -h, --help show this help message and exit\n --bar BAR bar help\n --baz [BAZ] baz help\n '
successes = [('--bar X', NS(bar='X', baz=None)), ('--bar X --bar Z', NS(bar='Z', baz=None)), ('--baz Y', NS(bar=None, baz='Y')), ('--baz', NS(bar=None, baz='Z'))]
successes_when_not_required = [('', NS(bar=None, baz=None))]
usage_when_not_required = ' usage: PROG [-h] [--bar BAR | --baz [BAZ]]\n '
usage_when_required = ' usage: PROG [-h] (--bar BAR | --baz [BAZ])\n '
class test.test_argparse.TestMutuallyExclusiveSimpleParent(methodName='runTest')[source]

Bases: test.test_argparse.MEPBase, test.test_argparse.TestMutuallyExclusiveSimple

class test.test_argparse.TestNamespace(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_constructor()[source]
test_equality()[source]
test_equality_returns_notimplemeted()[source]
class test.test_argparse.TestNamespaceContainsSimple(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_empty()[source]
test_non_empty()[source]
class test.test_argparse.TestNargsRemainder(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying a positional with nargs=REMAINDER

argument_signatures = [<test.test_argparse.Sig object at 0x05872690>, <test.test_argparse.Sig object at 0x058723B0>, <test.test_argparse.Sig object at 0x05872890>]
failures = ['', '-z', '-z Z']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05872B30>
successes = [('X', NS(x='X', y=[], z=None)), ('-z Z X', NS(x='X', y=[], z='Z')), ('X A B -z Z', NS(x='X', y=['A', 'B', '-z', 'Z'], z=None)), ('X Y --foo', NS(x='X', y=['Y', '--foo'], z=None))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872BB0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058723D0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058726B0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872B90>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872F30>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872A90>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872BB0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058723D0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058726B0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872B90>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872F30>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872A90>>)
class test.test_argparse.TestNargsZeroOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying an args for an Optional that accepts zero or more

argument_signatures = [<test.test_argparse.Sig object at 0x054EA8F0>, <test.test_argparse.Sig object at 0x054EAE30>]
failures = []
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x054EAD90>
successes = [('', NS(x=None, y=[])), ('-x', NS(x=[], y=[])), ('-x a', NS(x=['a'], y=[])), ('-x a -- b', NS(x=['a'], y=['b'])), ('a', NS(x=None, y=['a'])), ('a -x', NS(x=[], y=['a'])), ('a -x b', NS(x=['b'], y=['a']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058727B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872DD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872750>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058726D0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872BF0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058725F0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058727B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872DD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872750>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058726D0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05872BF0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058725F0>>)
class test.test_argparse.TestOptionLike(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests options that may or may not be arguments

argument_signatures = [<test.test_argparse.Sig object at 0x058723F0>, <test.test_argparse.Sig object at 0x05872C10>, <test.test_argparse.Sig object at 0x058722D0>]
failures = ['-x', '-y2.5', '-xa', '-x -a', '-x -3', '-x -3.5', '-3 -3.5', '-x -2.5', '-x -2.5 a', '-3 -.5', 'a x -1', '-x -1 a', '-3 -1 a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('', NS(x=None, y=None, z=[])), ('-x 2.5', NS(x=2.5, y=None, z=[])), ('-x 2.5 a', NS(x=2.5, y=None, z=['a'])), ('-3.5', NS(x=None, y=0.5, z=[])), ('-3-.5', NS(x=None, y=-0.5, z=[])), ('-3 .5', NS(x=None, y=0.5, z=[])), ('a -3.5', NS(x=None, y=0.5, z=['a'])), ('a', NS(x=None, y=None, z=['a'])), ('a -x 1', NS(x=1.0, y=None, z=['a'])), ('-x 1 a', NS(x=1.0, y=None, z=['a'])), ('-3 1 a', NS(x=None, y=1.0, z=['a']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C53F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5590>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5270>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C58F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5FF0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5910>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C53F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5590>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5270>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C58F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5FF0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5910>>)
class test.test_argparse.TestOptionalsActionAppend(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the append action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x1701BEB0>]
failures = ['a', '--baz', 'a --baz', '--baz a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05280D10>
successes = [('', NS(baz=None)), ('--baz a', NS(baz=['a'])), ('--baz a --baz b', NS(baz=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA270>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDADF0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05280230>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054BBE10>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0592C970>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAB70>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA270>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDADF0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05280230>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054BBE10>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0592C970>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAB70>>)
class test.test_argparse.TestOptionalsActionAppendConst(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the append_const action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15CDA210>, <test.test_argparse.Sig object at 0x15CDAED0>]
failures = ['a', '-c', 'a -c', '-bx', '-b x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15CDAD30>
successes = [('', NS(b=None)), ('-b', NS(b=[<class 'Exception'>])), ('-b -cx -b -cyz', NS(b=[<class 'Exception'>, 'x', <class 'Exception'>, 'yz']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA4B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA250>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA750>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA810>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAF50>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAAF0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA4B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA250>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA750>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA810>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAF50>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAAF0>>)
class test.test_argparse.TestOptionalsActionAppendConstWithDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the append_const action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15CDA670>, <test.test_argparse.Sig object at 0x15CDA790>]
failures = ['a', '-c', 'a -c', '-bx', '-b x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15CDAD90>
successes = [('', NS(b=['X'])), ('-b', NS(b=['X', <class 'Exception'>])), ('-b -cx -b -cyz', NS(b=['X', <class 'Exception'>, 'x', <class 'Exception'>, 'yz']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA6B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA690>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAAD0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA470>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAB10>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDADB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA6B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA690>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAAD0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA470>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAB10>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDADB0>>)
class test.test_argparse.TestOptionalsActionAppendWithDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the append action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15CDA5D0>]
failures = ['a', '--baz', 'a --baz', '--baz a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15CDA370>
successes = [('', NS(baz=['X'])), ('--baz a', NS(baz=['X', 'a'])), ('--baz a --baz b', NS(baz=['X', 'a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA7F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA490>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAF90>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAB50>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA650>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA450>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA7F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA490>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAF90>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDAB50>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA650>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15CDA450>>)
class test.test_argparse.TestOptionalsActionCount(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the count action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15CDAFF0>]
failures = ['a', '-x a', '-x b', '-x a -x b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15CDAE30>
successes = [('', NS(x=None)), ('-x', NS(x=1))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF250>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFA10>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFC50>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF570>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF070>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF890>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF250>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFA10>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFC50>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF570>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF070>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF890>>)
class test.test_argparse.TestOptionalsActionStore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the store action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x10C8F7F0>]
failures = ['a', 'a -x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x10C8FD30>
successes = [('', NS(x=None)), ('-xfoo', NS(x='foo'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16324F10>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16324AD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x10C8F8D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x10C8F090>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053A04F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053A0870>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16324F10>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16324AD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x10C8F8D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x10C8F090>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053A04F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053A0870>>)
class test.test_argparse.TestOptionalsActionStoreConst(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the store_const action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x16324A90>]
failures = ['a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15FCC3B0>
successes = [('', NS(y=None)), ('-y', NS(y=<class 'object'>))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCAD0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCA90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCED0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCC8F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCAB0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCC190>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCAD0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCA90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCED0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCC8F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCCAB0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15FCC190>>)
class test.test_argparse.TestOptionalsActionStoreFalse(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the store_false action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15FCC3D0>]
failures = ['a', '-za', '-z a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x06BD5590>
successes = [('', NS(z=True)), ('-z', NS(z=False))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054F1430>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058273F0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD55D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD5850>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD5770>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD5CB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054F1430>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058273F0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD55D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD5850>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD5770>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06BD5CB0>>)
class test.test_argparse.TestOptionalsActionStoreTrue(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the store_true action for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x05827750>]
failures = ['a', '--apple=b', '--apple b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05827D10>
successes = [('', NS(apple=False)), ('--apple', NS(apple=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BDF0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BD90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05827870>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05827710>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05827E50>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BF30>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BDF0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BD90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05827870>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05827710>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05827E50>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BF30>>)
class test.test_argparse.TestOptionalsAlmostNumericAndPositionals(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests negative number args when almost numeric options are present

argument_signatures = [<test.test_argparse.Sig object at 0x04E0F250>, <test.test_argparse.Sig object at 0x04E0F1B0>]
failures = ['-k3']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x04E0F210>
successes = [('', NS(x=None, y=False)), ('-2', NS(x='-2', y=False)), ('a', NS(x='a', y=False)), ('-k4', NS(x=None, y=True)), ('-k4 a', NS(x='a', y=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F410>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F9B0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F970>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F2B0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F990>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F650>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F410>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F9B0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F970>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F2B0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F990>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F650>>)
class test.test_argparse.TestOptionalsAlternatePrefixChars(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with option strings with custom prefixes

argument_signatures = [<test.test_argparse.Sig object at 0x16D45450>, <test.test_argparse.Sig object at 0x16D45A90>, <test.test_argparse.Sig object at 0x16D45850>]
failures = ['--bar', '-fbar', '-b B', 'B', '-f', '--bar B', '-baz', '-h', '--help', '+h', '::help', '/help']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x16D45270>
successes = [('', NS(bar=None, baz=None, f=False)), ('+f', NS(bar=None, baz=None, f=True)), ('::ba B', NS(bar='B', baz=None, f=False)), ('+f ::bar B', NS(bar='B', baz=None, f=True)), ('+f /b', NS(bar=None, baz=42, f=True)), ('/ba +f', NS(bar=None, baz=42, f=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45D90>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45C70>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D459F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45BD0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D455B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45930>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45D90>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45C70>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D459F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45BD0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D455B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45930>>)
class test.test_argparse.TestOptionalsAlternatePrefixCharsAddedHelp(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

When - not in prefix_chars, default operators created for help should use the prefix_chars in use rather than - or – http://bugs.python.org/issue9444

argument_signatures = [<test.test_argparse.Sig object at 0x16D45350>, <test.test_argparse.Sig object at 0x16D45190>, <test.test_argparse.Sig object at 0x16D45710>]
failures = ['--bar', '-fbar', '-b B', 'B', '-f', '--bar B', '-baz']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x16D459D0>
successes = [('', NS(bar=None, baz=None, f=False)), ('+f', NS(bar=None, baz=None, f=True)), ('::ba B', NS(bar='B', baz=None, f=False)), ('+f ::bar B', NS(bar='B', baz=None, f=True)), ('+f /b', NS(bar=None, baz=42, f=True)), ('/ba +f', NS(bar=None, baz=42, f=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45AB0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D455F0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45AF0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45130>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45030>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45530>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45AB0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D455F0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45AF0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45130>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45030>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45530>>)
class test.test_argparse.TestOptionalsAlternatePrefixCharsMultipleShortArgs(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Verify that Optionals must be called with their defined prefixes

argument_signatures = [<test.test_argparse.Sig object at 0x16D45BB0>, <test.test_argparse.Sig object at 0x16D454F0>, <test.test_argparse.Sig object at 0x16D45B90>]
failures = ['-w', '-xyz', '+x', '-y', '+xyz']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x16D45CF0>
successes = [('', NS(x=False, y=False, z=False)), ('-x', NS(x=True, y=False, z=False)), ('+y -x', NS(x=True, y=True, z=False)), ('+yz -x', NS(x=True, y=True, z=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8890>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8DD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D456F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8110>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8130>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8C10>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8890>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8DD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D456F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8110>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8130>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8C10>>)
class test.test_argparse.TestOptionalsChoices(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying the choices for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15975A90>, <test.test_argparse.Sig object at 0x159750F0>]
failures = ['a', '-f d', '-fad', '-ga', '-g 6']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15975F90>
successes = [('', NS(f=None, g=None)), ('-f a', NS(f='a', g=None)), ('-f c', NS(f='c', g=None)), ('-g 0', NS(f=None, g=0)), ('-g 03', NS(f=None, g=3)), ('-fb -g4', NS(f='b', g=4))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975D90>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x057E8110>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975470>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975910>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975EB0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975D70>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975D90>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x057E8110>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975470>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975910>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975EB0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975D70>>)
class test.test_argparse.TestOptionalsDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying a default for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x1527C790>, <test.test_argparse.Sig object at 0x1527C930>]
failures = ['a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x1527CAF0>
successes = [('', NS(x=None, y=42)), ('-xx', NS(x='x', y=42)), ('-yy', NS(x=None, y='y'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C050>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CED0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CEF0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C4F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C570>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CD50>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C050>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CED0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CEF0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C4F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C570>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CD50>>)
class test.test_argparse.TestOptionalsDest(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests various means of setting destination

argument_signatures = [<test.test_argparse.Sig object at 0x156F89B0>, <test.test_argparse.Sig object at 0x156F81D0>]
failures = ['a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156F8BB0>
successes = [('--foo-bar f', NS(foo_bar='f', zabbaz=None)), ('--baz g', NS(foo_bar=None, zabbaz='g')), ('--foo-bar h --baz i', NS(foo_bar='h', zabbaz='i')), ('--baz j --foo-bar k', NS(foo_bar='k', zabbaz='j'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C030>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CE10>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8470>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8070>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F84B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8430>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C030>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CE10>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8470>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8070>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F84B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8430>>)
class test.test_argparse.TestOptionalsDoubleDash(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with a double-dash option string

argument_signatures = [<test.test_argparse.Sig object at 0x156C2850>]
failures = ['--foo', '-f', '-f a', 'a', '--foo -x', '--foo --bar']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C2AD0>
successes = [('', NS(foo=None)), ('--foo a', NS(foo='a')), ('--foo=a', NS(foo='a')), ('--foo -2.5', NS(foo='-2.5')), ('--foo=-2.5', NS(foo='-2.5'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2990>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C21D0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C27D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C27F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2810>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2F90>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2990>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C21D0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C27D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C27F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2810>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2F90>>)
class test.test_argparse.TestOptionalsDoubleDashPartialMatch(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests partial matching with a double-dash option string

argument_signatures = [<test.test_argparse.Sig object at 0x156C2F70>, <test.test_argparse.Sig object at 0x156C2D50>]
failures = ['--bar', '--b', '--ba', '--b=2', '--ba=4', '--badge 5']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C2F30>
successes = [('', NS(badger=False, bat=None)), ('--bat X', NS(badger=False, bat='X')), ('--bad', NS(badger=True, bat=None)), ('--badg', NS(badger=True, bat=None)), ('--badge', NS(badger=True, bat=None)), ('--badger', NS(badger=True, bat=None))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2690>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C22D0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2730>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2B30>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2C30>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2550>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2690>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C22D0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2730>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2B30>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2C30>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2550>>)
class test.test_argparse.TestOptionalsDoubleDashPrefixMatch(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests when one double-dash option string is a prefix of another

argument_signatures = [<test.test_argparse.Sig object at 0x156C2CF0>, <test.test_argparse.Sig object at 0x156C2C50>]
failures = ['--bar', '--b', '--ba', '--b=2', '--badge 5']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C2770>
successes = [('', NS(ba=None, badger=False)), ('--ba X', NS(ba='X', badger=False)), ('--ba=X', NS(ba='X', badger=False)), ('--bad', NS(ba=None, badger=True)), ('--badg', NS(ba=None, badger=True)), ('--badge', NS(ba=None, badger=True)), ('--badger', NS(ba=None, badger=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45470>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45490>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2470>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1173A7F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E1E930>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D456D0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45470>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45490>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2470>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1173A7F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E1E930>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D456D0>>)
class test.test_argparse.TestOptionalsHelpVersionActions(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test the help and version actions

assertArgumentParserError(parser, *args)[source]
assertPrintHelpExit(parser, args_str)[source]
test_alternate_help_version()[source]
test_help_version_extra_arguments()[source]
test_no_help()[source]
test_version()[source]
test_version_action()[source]
test_version_format()[source]
test_version_no_help()[source]
class test.test_argparse.TestOptionalsNargs1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying the 1 arg for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x1527C6B0>]
failures = ['a', '-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x1527CD30>
successes = [('', NS(x=None)), ('-x a', NS(x=['a']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C970>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C4B0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C3D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CC30>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C810>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C490>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C970>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C4B0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C3D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CC30>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C810>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C490>>)
class test.test_argparse.TestOptionalsNargs3(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying the 3 args for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x1527C450>]
failures = ['a', '-x', '-x a', '-x a b', 'a -x', 'a -x b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x1527CF90>
successes = [('', NS(x=None)), ('-x a b c', NS(x=['a', 'b', 'c']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CA10>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0523BAD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CE70>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C990>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C630>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CD90>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CA10>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0523BAD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CE70>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C990>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C630>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CD90>>)
class test.test_argparse.TestOptionalsNargsDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests not specifying the number of args for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x1527C4D0>]
failures = ['a', '-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x1527C110>
successes = [('', NS(x=None)), ('-x a', NS(x='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C830>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CF70>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C670>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C870>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CB70>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CC90>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C830>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CF70>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C670>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527C870>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CB70>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1527CC90>>)
class test.test_argparse.TestOptionalsNargsOneOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying an args for an Optional that accepts one or more

argument_signatures = [<test.test_argparse.Sig object at 0x05310350>, <test.test_argparse.Sig object at 0x05310530>]
failures = ['a', '-x', '-y', 'a -x', 'a -y b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('', NS(x=None, y='spam')), ('-x a', NS(x=['a'], y='spam')), ('-x a b', NS(x=['a', 'b'], y='spam')), ('-y a', NS(x=None, y=['a'])), ('-y a b', NS(x=None, y=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975DF0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975610>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x159757F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975770>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x159751F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975210>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975DF0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975610>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x159757F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975770>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x159751F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15975210>>)
class test.test_argparse.TestOptionalsNargsOptional(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying an Optional arg for an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x058E6150>, <test.test_argparse.Sig object at 0x059C7710>, <test.test_argparse.Sig object at 0x05990030>, <test.test_argparse.Sig object at 0x058C3CF0>]
failures = ['2']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05AA02B0>
successes = [('', NS(w=None, x=None, y='spam', z=84)), ('-w', NS(w=None, x=None, y='spam', z=84)), ('-w 2', NS(w='2', x=None, y='spam', z=84)), ('-x', NS(w=None, x=42, y='spam', z=84)), ('-x 2', NS(w=None, x='2', y='spam', z=84)), ('-y', NS(w=None, x=None, y=None, z=84)), ('-y 2', NS(w=None, x=None, y='2', z=84)), ('-z', NS(w=None, x=None, y='spam', z=42)), ('-z 2', NS(w=None, x=None, y='spam', z=2))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058BFBB0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0591A670>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05AA0790>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05AA0AD0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05AA02F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x13C53BB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058BFBB0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0591A670>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05AA0790>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05AA0AD0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05AA02F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x13C53BB0>>)
class test.test_argparse.TestOptionalsNargsZeroOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests specifying an args for an Optional that accepts zero or more

argument_signatures = [<test.test_argparse.Sig object at 0x0591A090>, <test.test_argparse.Sig object at 0x0591A0B0>]
failures = ['a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x1701BED0>
successes = [('', NS(x=None, y='spam')), ('-x', NS(x=[], y='spam')), ('-x a', NS(x=['a'], y='spam')), ('-x a b', NS(x=['a', 'b'], y='spam')), ('-y', NS(x=None, y=[])), ('-y a', NS(x=None, y=['a'])), ('-y a b', NS(x=None, y=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C12D0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C1690>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BFF0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BE50>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C1390>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C1850>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C12D0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C1690>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BFF0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x1701BE50>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C1390>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x158C1850>>)
class test.test_argparse.TestOptionalsNumeric(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with a short opt string

argument_signatures = [<test.test_argparse.Sig object at 0x156C2C70>]
failures = ['-1', 'a', '-1 --foo', '-1 -y', '-1 -1', '-1 -2']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C20D0>
successes = [('', NS(one=None)), ('-1 a', NS(one='a')), ('-1a', NS(one='a')), ('-1-2', NS(one='-2'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2030>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2DF0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2DB0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2A30>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2150>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2330>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2030>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2DF0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2DB0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2A30>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2150>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C2330>>)
class test.test_argparse.TestOptionalsNumericAndPositionals(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests negative number args when numeric options are present

argument_signatures = [<test.test_argparse.Sig object at 0x04E0FE90>, <test.test_argparse.Sig object at 0x04E0FB90>]
failures = ['-2', '-315']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x04E0FD90>
successes = [('', NS(x=None, y=False)), ('a', NS(x='a', y=False)), ('-4', NS(x=None, y=True)), ('-4 a', NS(x='a', y=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F590>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FFB0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FE10>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FA90>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FFD0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F0D0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F590>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FFB0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FE10>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FA90>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FFD0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F0D0>>)
class test.test_argparse.TestOptionalsRequired(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests the an optional action that is required

argument_signatures = [<test.test_argparse.Sig object at 0x057E8490>]
failures = ['a', '']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x057E8E90>
successes = [('-x 1', NS(x=1)), ('-x42', NS(x=42))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x169AF2F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04DF0230>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579D130>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579DBF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579D590>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579D750>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x169AF2F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04DF0230>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579D130>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579DBF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579D590>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0579D750>>)
class test.test_argparse.TestOptionalsShortLong(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a combination of single- and double-dash option strings

argument_signatures = [<test.test_argparse.Sig object at 0x16D45830>]
failures = ['--x --verbose', '-N', 'a', '-v x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156F83D0>
successes = [('', NS(verbose=False)), ('-v', NS(verbose=True)), ('--verbose', NS(verbose=True)), ('-n', NS(verbose=True)), ('--noisy', NS(verbose=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8ED0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8B70>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8D70>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8530>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8F10>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8D50>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8ED0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8B70>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8D70>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8530>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8F10>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156F8D50>>)
class test.test_argparse.TestOptionalsSingleDash(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with a single-dash option string

argument_signatures = [<test.test_argparse.Sig object at 0x04DF7E50>]
failures = ['-x', 'a', '--foo', '-x --foo', '-x -y']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15906F70>
successes = [('', NS(x=None)), ('-x a', NS(x='a')), ('-xa', NS(x='a')), ('-x -1', NS(x='-1')), ('-x-1', NS(x='-1'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x159067D0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906750>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906890>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906C50>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906A10>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906FB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x159067D0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906750>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906890>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906C50>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906A10>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906FB0>>)
class test.test_argparse.TestOptionalsSingleDashAmbiguous(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test Optionals that partially match but are not subsets

argument_signatures = [<test.test_argparse.Sig object at 0x058F2610>, <test.test_argparse.Sig object at 0x058F2310>]
failures = ['-f', '-f a', '-fa', '-foa', '-foo', '-fo', '-foo b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x06AFB1D0>
successes = [('', NS(foobar=None, foorab=None)), ('-foob a', NS(foobar='a', foorab=None)), ('-foor a', NS(foobar=None, foorab='a')), ('-fooba a', NS(foobar='a', foorab=None)), ('-foora a', NS(foobar=None, foorab='a')), ('-foobar a', NS(foobar='a', foorab=None)), ('-foorab a', NS(foobar=None, foorab='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB1F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB2D0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB150>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB330>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB190>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB270>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB1F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB2D0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB150>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB330>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB190>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x06AFB270>>)
class test.test_argparse.TestOptionalsSingleDashCombined(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with a single-dash option string

argument_signatures = [<test.test_argparse.Sig object at 0x15906B10>, <test.test_argparse.Sig object at 0x15906BF0>, <test.test_argparse.Sig object at 0x15906D50>]
failures = ['a', '--foo', '-xa', '-x --foo', '-x -z', '-z -x', '-yx', '-yz a', '-yyyx', '-yyyza', '-xyza']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15906DF0>
successes = [('', NS(x=False, yyy=None, z=None)), ('-x', NS(x=True, yyy=None, z=None)), ('-za', NS(x=False, yyy=None, z='a')), ('-z a', NS(x=False, yyy=None, z='a')), ('-xza', NS(x=True, yyy=None, z='a')), ('-xz a', NS(x=True, yyy=None, z='a')), ('-x -za', NS(x=True, yyy=None, z='a')), ('-x -z a', NS(x=True, yyy=None, z='a')), ('-y', NS(x=False, yyy=42, z=None)), ('-yyy', NS(x=False, yyy=42, z=None)), ('-x -yyy -za', NS(x=True, yyy=42, z='a')), ('-x -yyy -z a', NS(x=True, yyy=42, z='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906CB0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906F30>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906C30>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906FD0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906970>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906870>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906CB0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906F30>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906C30>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906FD0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906970>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15906870>>)
class test.test_argparse.TestOptionalsSingleDashLong(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with a multi-character single-dash option string

argument_signatures = [<test.test_argparse.Sig object at 0x15906C70>]
failures = ['-foo', 'a', '--foo', '-foo --foo', '-foo -y', '-fooa']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x058F2450>
successes = [('', NS(foo=None)), ('-foo a', NS(foo='a')), ('-foo -1', NS(foo='-1')), ('-fo a', NS(foo='a')), ('-f a', NS(foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2830>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2CD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2390>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2B50>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F28F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2870>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2830>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2CD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2390>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2B50>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F28F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2870>>)
class test.test_argparse.TestOptionalsSingleDashSubsetAmbiguous(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test Optionals where option strings are subsets of each other

argument_signatures = [<test.test_argparse.Sig object at 0x058F2130>, <test.test_argparse.Sig object at 0x058F2DD0>, <test.test_argparse.Sig object at 0x058F2290>]
failures = ['-f', '-foo', '-fo', '-foo b', '-foob', '-fooba', '-foora']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x058F2CF0>
successes = [('', NS(f=None, foobar=None, foorab=None)), ('-f a', NS(f='a', foobar=None, foorab=None)), ('-fa', NS(f='a', foobar=None, foorab=None)), ('-foa', NS(f='oa', foobar=None, foorab=None)), ('-fooa', NS(f='ooa', foobar=None, foorab=None)), ('-foobar a', NS(f=None, foobar='a', foorab=None)), ('-foorab a', NS(f=None, foobar=None, foorab='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2650>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2930>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F26F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2770>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2A90>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2AD0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2650>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2930>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F26F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2770>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2A90>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058F2AD0>>)
class test.test_argparse.TestOptionalsSingleDoubleDash(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional with single- and double-dash option strings

argument_signatures = [<test.test_argparse.Sig object at 0x16D451F0>, <test.test_argparse.Sig object at 0x16D45D30>, <test.test_argparse.Sig object at 0x16D45E90>]
failures = ['--bar', '-fbar', '-fbaz', '-bazf', '-b B', 'B']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x16D45690>
successes = [('', NS(bar=None, baz=None, f=False)), ('-f', NS(bar=None, baz=None, f=True)), ('--ba B', NS(bar='B', baz=None, f=False)), ('-f --bar B', NS(bar='B', baz=None, f=True)), ('-f -b', NS(bar=None, baz=42, f=True)), ('-ba -f', NS(bar=None, baz=42, f=True))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45B70>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45510>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45110>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45B10>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45610>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45170>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45B70>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45510>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45110>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45B10>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45610>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x16D45170>>)
class test.test_argparse.TestParentParsers(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Tests that parsers can be created with parent parsers

assertArgumentParserError(*args, **kwargs)[source]
setUp()[source]
test_conflicting_parents()[source]
test_conflicting_parents_mutex()[source]
test_groups_parents()[source]
test_multiple_parents()[source]
test_multiple_parents_mutex()[source]
test_parent_help()[source]
test_same_argument_name_parents()[source]
test_single_granparent_mutex()[source]
test_single_parent()[source]
test_single_parent_mutex()[source]
test_subparser_parents()[source]
test_subparser_parents_mutex()[source]
class test.test_argparse.TestParseKnownArgs(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_arguments_list()[source]
test_arguments_list_positional()[source]
test_arguments_tuple()[source]
test_arguments_tuple_positional()[source]
test_mixed()[source]
test_optionals()[source]
class test.test_argparse.TestParserDefault42(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test actions with a parser-level default of 42

argument_signatures = [<test.test_argparse.Sig object at 0x156C5650>, <test.test_argparse.Sig object at 0x156C5F30>, <test.test_argparse.Sig object at 0x156C53B0>, <test.test_argparse.Sig object at 0x156C5510>]
failures = ['-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C5410>
successes = [('', NS(bar=42, baz=42, foo=42, version=42)), ('a', NS(bar=42, baz=42, foo='a', version=42)), ('a b', NS(bar=['b'], baz=42, foo='a', version=42)), ('--baz', NS(bar=42, baz=True, foo=42, version=42)), ('a --baz', NS(bar=42, baz=True, foo='a', version=42)), ('--baz a b', NS(bar=['b'], baz=True, foo='a', version=42))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05805710>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05805B90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05733F50>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05733BF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058050B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05805E50>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05805710>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05805B90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05733F50>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05733BF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058050B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05805E50>>)
class test.test_argparse.TestParserDefaultSuppress(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test actions with a parser-level default of SUPPRESS

argument_signatures = [<test.test_argparse.Sig object at 0x156C5DD0>, <test.test_argparse.Sig object at 0x156C54B0>, <test.test_argparse.Sig object at 0x156C5DB0>]
failures = ['-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156C5130>
successes = [('', NS()), ('a', NS(foo='a')), ('a b', NS(bar=['b'], foo='a')), ('--baz', NS(baz=True)), ('a --baz', NS(baz=True, foo='a')), ('--baz a b', NS(bar=['b'], baz=True, foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C50F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C59B0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C52F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C53D0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5030>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5AD0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C50F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C59B0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C52F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C53D0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5030>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156C5AD0>>)
class test.test_argparse.TestPositionalsActionAppend(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test the ‘append’ action

argument_signatures = [<test.test_argparse.Sig object at 0x05293A50>, <test.test_argparse.Sig object at 0x05293E70>]
failures = ['', '--foo', 'a', 'a b', 'a b c d']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05293A10>
successes = [('a b c', NS(spam=['a', ['b', 'c']]))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F850>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FCF0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293770>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293CF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052937B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052936F0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0F850>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x04E0FCF0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293770>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293CF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052937B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052936F0>>)
class test.test_argparse.TestPositionalsChoicesInt(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a set of integer choices

argument_signatures = [<test.test_argparse.Sig object at 0x052934B0>]
failures = ['', '--foo', 'h', '42', 'ef']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x052934F0>
successes = [('4', NS(spam=4)), ('15', NS(spam=15))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293C70>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293F90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052932F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052935F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052931D0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293BB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293C70>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293F90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052932F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052935F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x052931D0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293BB0>>)
class test.test_argparse.TestPositionalsChoicesString(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a set of single-character choices

argument_signatures = [<test.test_argparse.Sig object at 0x05833150>]
failures = ['', '--foo', 'h', '42', 'ef']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05293E30>
successes = [('a', NS(spam='a')), ('g', NS(spam='g'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293ED0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293950>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293D50>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293C90>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293410>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293DB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293ED0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293950>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293D50>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293C90>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293410>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05293DB0>>)
class test.test_argparse.TestPositionalsGroups(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Tests that order of group positionals matches construction order

test_group_first()[source]
test_interleaved_groups()[source]
test_nongroup_first()[source]
class test.test_argparse.TestPositionalsNargs1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional that specifies an nargs of 1

argument_signatures = [<test.test_argparse.Sig object at 0x15DDF1B0>]
failures = ['', '-x', 'a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15DDF050>
successes = [('a', NS(foo=['a']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF9B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF3F0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFFF0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFA70>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFCD0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF5B0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF9B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF3F0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFFF0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFA70>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFCD0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF5B0>>)
class test.test_argparse.TestPositionalsNargs2(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional that specifies an nargs of 2

argument_signatures = [<test.test_argparse.Sig object at 0x15DDF150>]
failures = ['', 'a', '-x', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15DDF1F0>
successes = [('a b', NS(foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFF10>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFBD0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF330>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFB10>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF6F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFA50>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFF10>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFBD0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF330>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFB10>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF6F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFA50>>)
class test.test_argparse.TestPositionalsNargs2None(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with 2 nargs followed by one with none

argument_signatures = [<test.test_argparse.Sig object at 0x053699D0>, <test.test_argparse.Sig object at 0x15266F10>]
failures = ['', '--foo', 'a', 'a b', 'a b c d']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15266F70>
successes = [('a b c', NS(bar='c', foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152662F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266430>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266490>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266BD0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152668F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266450>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152662F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266430>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266490>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266BD0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152668F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266450>>)
class test.test_argparse.TestPositionalsNargs2OneOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with 2 nargs followed by one with one or more

argument_signatures = [<test.test_argparse.Sig object at 0x156CE7D0>, <test.test_argparse.Sig object at 0x156CE270>]
failures = ['', '--foo', 'a', 'a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156CEE70>
successes = [('a b c', NS(bar=['c'], foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEDD0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CED10>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE950>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEE10>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CED70>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEF90>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEDD0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CED10>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE950>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEE10>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CED70>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEF90>>)
class test.test_argparse.TestPositionalsNargs2Optional(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with 2 nargs followed by one optional

argument_signatures = [<test.test_argparse.Sig object at 0x156CE970>, <test.test_argparse.Sig object at 0x156CE110>]
failures = ['', '--foo', 'a', 'a b c d']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156CE330>
successes = [('a b', NS(bar=None, foo=['a', 'b'])), ('a b c', NS(bar='c', foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE350>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEC90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE290>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE710>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE510>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE3B0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE350>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEC90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE290>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE710>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE510>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE3B0>>)
class test.test_argparse.TestPositionalsNargs2ZeroOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with 2 nargs followed by one with unlimited

argument_signatures = [<test.test_argparse.Sig object at 0x14F81990>, <test.test_argparse.Sig object at 0x14F81390>]
failures = ['', '--foo', 'a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x14F81210>
successes = [('a b', NS(bar=[], foo=['a', 'b'])), ('a b c', NS(bar=['c'], foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE750>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE2B0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F811F0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81BF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81C90>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81270>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE750>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE2B0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F811F0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81BF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81C90>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81270>>)
class test.test_argparse.TestPositionalsNargsNone(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional that doesn’t specify nargs

argument_signatures = [<test.test_argparse.Sig object at 0x15DDF390>]
failures = ['', '-x', 'a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15DDF5D0>
successes = [('a', NS(foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF850>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF410>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF3D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFCB0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF3B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF190>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF850>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF410>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF3D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFCB0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF3B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF190>>)
class test.test_argparse.TestPositionalsNargsNone1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with no nargs followed by one with 1

argument_signatures = [<test.test_argparse.Sig object at 0x05369A90>, <test.test_argparse.Sig object at 0x053698B0>]
failures = ['', '--foo', 'a', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('a b', NS(bar=['b'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369BD0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369230>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369610>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369EF0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369A70>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369690>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369BD0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369230>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369610>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369EF0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369A70>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369690>>)
class test.test_argparse.TestPositionalsNargsNoneNone(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test two Positionals that don’t specify nargs

argument_signatures = [<test.test_argparse.Sig object at 0x05369950>, <test.test_argparse.Sig object at 0x05369210>]
failures = ['', '-x', 'a', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05369DD0>
successes = [('a b', NS(bar='b', foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053692D0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369110>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369450>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369650>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369910>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369430>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053692D0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369110>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369450>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369650>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369910>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369430>>)
class test.test_argparse.TestPositionalsNargsNoneOneOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with no nargs followed by one with one or more

argument_signatures = [<test.test_argparse.Sig object at 0x15266310>, <test.test_argparse.Sig object at 0x15266EF0>]
failures = ['', '--foo', 'a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15266CB0>
successes = [('a b', NS(bar=['b'], foo='a')), ('a b c', NS(bar=['b', 'c'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266710>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266410>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266130>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266C10>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266290>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266F30>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266710>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266410>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266130>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266C10>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266290>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266F30>>)
class test.test_argparse.TestPositionalsNargsNoneOneOrMore1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test three Positionals: no nargs, one or more nargs and 1 nargs

argument_signatures = [<test.test_argparse.Sig object at 0x05749DD0>, <test.test_argparse.Sig object at 0x05749B70>, <test.test_argparse.Sig object at 0x057491D0>]
failures = ['', '--foo', 'a', 'b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05749AD0>
successes = [('a b c', NS(bar=['b'], baz=['c'], foo='a')), ('a b c d', NS(bar=['b', 'c'], baz=['d'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B7F0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BEB0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BBB0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B050>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BC30>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B570>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B7F0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BEB0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BBB0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B050>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BC30>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B570>>)
class test.test_argparse.TestPositionalsNargsNoneOptional(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with no nargs followed by one with an Optional

argument_signatures = [<test.test_argparse.Sig object at 0x15266830>, <test.test_argparse.Sig object at 0x152665B0>]
failures = ['', '--foo', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('a', NS(bar=None, foo='a')), ('a b', NS(bar='b', foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266A30>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152667F0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266630>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152669B0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266110>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266390>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266A30>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152667F0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266630>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152669B0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266110>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266390>>)
class test.test_argparse.TestPositionalsNargsNoneOptional1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test three Positionals: no nargs, optional narg and 1 nargs

argument_signatures = [<test.test_argparse.Sig object at 0x0595B2B0>, <test.test_argparse.Sig object at 0x0595BC10>, <test.test_argparse.Sig object at 0x0595BBF0>]
failures = ['', '--foo', 'a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x0595B330>
successes = [('a b', NS(bar=0.625, baz=['b'], foo='a')), ('a b c', NS(bar='b', baz=['c'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B910>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BA90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BE50>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B970>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B7B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B530>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B910>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BA90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BE50>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B970>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B7B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B530>>)
class test.test_argparse.TestPositionalsNargsNoneZeroOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with no nargs followed by one with unlimited

argument_signatures = [<test.test_argparse.Sig object at 0x152664B0>, <test.test_argparse.Sig object at 0x15266250>]
failures = ['', '--foo']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15266F90>
successes = [('a', NS(bar=[], foo='a')), ('a b', NS(bar=['b'], foo='a')), ('a b c', NS(bar=['b', 'c'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152669D0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266AB0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266A90>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266C90>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266D90>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266050>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x152669D0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266AB0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266A90>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266C90>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266D90>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15266050>>)
class test.test_argparse.TestPositionalsNargsNoneZeroOrMore1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test three Positionals: no nargs, unlimited nargs and 1 nargs

argument_signatures = [<test.test_argparse.Sig object at 0x057498F0>, <test.test_argparse.Sig object at 0x05749610>, <test.test_argparse.Sig object at 0x057491F0>]
failures = ['', '--foo', 'a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('a b', NS(bar=[], baz=['b'], foo='a')), ('a b c', NS(bar=['b'], baz=['c'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749F10>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749770>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x057490D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749430>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749490>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749C50>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749F10>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749770>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x057490D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749430>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749490>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749C50>>)
class test.test_argparse.TestPositionalsNargsOneOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional that specifies one or more nargs

argument_signatures = [<test.test_argparse.Sig object at 0x0528CF70>]
failures = ['', '-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x0528C390>
successes = [('a', NS(foo=['a'])), ('a b', NS(foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CE30>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CB90>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C470>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C850>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C190>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C070>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CE30>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CB90>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C470>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C850>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C190>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C070>>)
class test.test_argparse.TestPositionalsNargsOneOrMore1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with one or more nargs followed by one with 1

argument_signatures = [<test.test_argparse.Sig object at 0x156CE5F0>, <test.test_argparse.Sig object at 0x156CED50>]
failures = ['', '--foo', 'a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156CEF50>
successes = [('a b', NS(bar=['b'], foo=['a'])), ('a b c', NS(bar=['c'], foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749250>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749CF0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE610>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE9D0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEED0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE0B0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749250>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749CF0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE610>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE9D0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEED0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE0B0>>)
class test.test_argparse.TestPositionalsNargsOneOrMoreNone(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with one or more nargs followed by one with none

argument_signatures = [<test.test_argparse.Sig object at 0x14F81E70>, <test.test_argparse.Sig object at 0x14F81C10>]
failures = ['', '--foo', 'a']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x14F81FD0>
successes = [('a b', NS(bar='b', foo=['a'])), ('a b c', NS(bar='c', foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81ED0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81570>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81D70>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81650>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F815F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F816B0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81ED0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81570>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81D70>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81650>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F815F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F816B0>>)
class test.test_argparse.TestPositionalsNargsOptional(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests an Optional Positional

argument_signatures = [<test.test_argparse.Sig object at 0x0528C250>]
failures = ['-x', 'a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x0528CFF0>
successes = [('', NS(foo=None)), ('a', NS(foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52EB0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52150>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CB70>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C5B0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C150>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CD70>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52EB0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52150>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CB70>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C5B0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C150>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CD70>>)
class test.test_argparse.TestPositionalsNargsOptional1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with an Optional nargs followed by one with 1

argument_signatures = [<test.test_argparse.Sig object at 0x057494B0>, <test.test_argparse.Sig object at 0x05749CB0>]
failures = ['', '--foo', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05749E50>
successes = [('a', NS(bar=['a'], foo=None)), ('a b', NS(bar=['b'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749BF0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749110>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749570>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749E70>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749930>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749A50>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749BF0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749110>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749570>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749E70>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749930>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05749A50>>)
class test.test_argparse.TestPositionalsNargsOptionalConvertedDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests an Optional Positional with a default value that needs to be converted to the appropriate type.

argument_signatures = [<test.test_argparse.Sig object at 0x15A52CD0>]
failures = ['-x', 'a b', '1 2']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15A52810>
successes = [('', NS(foo=42)), ('1', NS(foo=1))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053690B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369130>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053696D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369C70>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053695B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369F70>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053690B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369130>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053696D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369C70>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x053695B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05369F70>>)
class test.test_argparse.TestPositionalsNargsOptionalDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Tests an Optional Positional with a default value

argument_signatures = [<test.test_argparse.Sig object at 0x15A521D0>]
failures = ['-x', 'a b']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15A52C30>
successes = [('', NS(foo=42)), ('a', NS(foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52210>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A525F0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52250>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A527F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A521F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52E90>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52210>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A525F0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52250>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A527F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A521F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15A52E90>>)
class test.test_argparse.TestPositionalsNargsOptionalNone(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with an Optional nargs followed by one with none

argument_signatures = [<test.test_argparse.Sig object at 0x14F81090>, <test.test_argparse.Sig object at 0x14F81A70>]
failures = ['', '--foo', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x14F81DD0>
successes = [('a', NS(bar='a', foo=42)), ('a b', NS(bar='b', foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81970>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81070>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81F10>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81190>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F811B0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81E10>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81970>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81070>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81F10>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81190>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F811B0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81E10>>)
class test.test_argparse.TestPositionalsNargsOptionalOneOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional narg followed by one or more nargs

argument_signatures = [<test.test_argparse.Sig object at 0x05833510>, <test.test_argparse.Sig object at 0x05833AF0>]
failures = ['', '--foo']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('a', NS(bar=['a'], foo=None)), ('a b', NS(bar=['b'], foo='a')), ('a b c', NS(bar=['b', 'c'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833270>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833A10>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833530>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833C90>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833A30>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833310>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833270>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833A10>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833530>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833C90>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833A30>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833310>>)
class test.test_argparse.TestPositionalsNargsOptionalOptional(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test two optional nargs

argument_signatures = [<test.test_argparse.Sig object at 0x0595B210>, <test.test_argparse.Sig object at 0x0595B230>]
failures = ['--foo', 'a b c']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x0595B0D0>
successes = [('', NS(bar=42, foo=None)), ('a', NS(bar=42, foo='a')), ('a b', NS(bar='b', foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B170>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B390>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BD70>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BED0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B290>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BFB0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B170>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B390>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BD70>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BED0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595B290>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0595BFB0>>)
class test.test_argparse.TestPositionalsNargsOptionalZeroOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test an Optional narg followed by unlimited nargs

argument_signatures = [<test.test_argparse.Sig object at 0x058336F0>, <test.test_argparse.Sig object at 0x05833990>]
failures = ['--foo']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x05833CD0>
successes = [('', NS(bar=[], foo=None)), ('a', NS(bar=[], foo='a')), ('a b', NS(bar=['b'], foo='a')), ('a b c', NS(bar=['b', 'c'], foo='a'))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833E70>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833D10>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833110>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833550>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833810>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058335B0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833E70>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833D10>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833110>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833550>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x05833810>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x058335B0>>)
class test.test_argparse.TestPositionalsNargsZeroOrMore(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional that specifies unlimited nargs

argument_signatures = [<test.test_argparse.Sig object at 0x15DDFFB0>]
failures = ['-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15DDF2B0>
successes = [('', NS(foo=[])), ('a', NS(foo=['a'])), ('a b', NS(foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF870>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFBF0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFF90>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFAD0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF0D0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFDF0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF870>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFBF0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFF90>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFAD0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDF0D0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15DDFDF0>>)
class test.test_argparse.TestPositionalsNargsZeroOrMore1(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with unlimited nargs followed by one with 1

argument_signatures = [<test.test_argparse.Sig object at 0x156CE170>, <test.test_argparse.Sig object at 0x156CE470>]
failures = ['', '--foo']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x156CEA70>
successes = [('a', NS(bar=['a'], foo=[])), ('a b', NS(bar=['b'], foo=['a'])), ('a b c', NS(bar=['c'], foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE930>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE810>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CED30>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE450>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEF70>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE6D0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE930>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE810>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CED30>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE450>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CEF70>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x156CE6D0>>)
class test.test_argparse.TestPositionalsNargsZeroOrMoreDefault(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional that specifies unlimited nargs and a default

argument_signatures = [<test.test_argparse.Sig object at 0x15DDF7B0>]
failures = ['-x']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x0528CBF0>
successes = [('', NS(foo='bar')), ('a', NS(foo=['a'])), ('a b', NS(foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C8D0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C5D0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C9D0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C7B0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CC90>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C650>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C8D0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C5D0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C9D0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C7B0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528CC90>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x0528C650>>)
class test.test_argparse.TestPositionalsNargsZeroOrMoreNone(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a Positional with unlimited nargs followed by one with none

argument_signatures = [<test.test_argparse.Sig object at 0x152665D0>, <test.test_argparse.Sig object at 0x152661F0>]
failures = ['', '--foo']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object>
successes = [('a', NS(bar='a', foo=[])), ('a b', NS(bar='b', foo=['a'])), ('a b c', NS(bar='c', foo=['a', 'b']))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81B90>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81CF0>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81110>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F817D0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81DB0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F810F0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81B90>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81CF0>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81110>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F817D0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F81DB0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x14F810F0>>)
class test.test_argparse.TestPrefixCharacterOnlyArguments(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

argument_signatures = [<test.test_argparse.Sig object at 0x054EA870>, <test.test_argparse.Sig object at 0x054EAD10>, <test.test_argparse.Sig object at 0x054EAF70>]
failures = ['-y', '+ -']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x054EADD0>
successes = [('', NS(x=None, y=42, z=False)), ('-', NS(x='badger', y=42, z=False)), ('- X', NS(x='X', y=42, z=False)), ('+ -3', NS(x=None, y=-3, z=False)), ('-+-', NS(x=None, y=42, z=True)), ('- ===', NS(x='===', y=42, z=False))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EACB0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA390>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA0B0>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA3F0>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA210>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA350>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EACB0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA390>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA0B0>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA3F0>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA210>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x054EA350>>)
class test.test_argparse.TestSetDefaults(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_set_defaults_no_args()[source]
test_set_defaults_parents()[source]
test_set_defaults_same_as_add_argument()[source]
test_set_defaults_same_as_add_argument_group()[source]
test_set_defaults_subparsers()[source]
test_set_defaults_with_args()[source]
class test.test_argparse.TestShortColumns(methodName='runTest')[source]

Bases: test.test_argparse.HelpTestCase

Test extremely small number of columns.

TestCase prevents “COLUMNS” from being too small in the tests themselves, but we don’t want any exceptions thrown in such case. Only ugly representation.

argument_group_signatures = []
argument_signatures = [<test.test_argparse.Sig object at 0x15FD09F0>, <test.test_argparse.Sig object at 0x15FD0270>, <test.test_argparse.Sig object at 0x15FD0CB0>, <test.test_argparse.Sig object at 0x15FD0150>, <test.test_argparse.Sig object at 0x15FD09B0>]
help = " usage: PROG\n [-h]\n [-v]\n [-x]\n [--y Y]\n foo\n bar\n \n DESCRIPTION\n\n positional arguments:\n foo\n FOO HELP\n bar\n BAR HELP\n\n optional arguments:\n -h, --help\n show this\n help\n message and\n exit\n -v, --version\n show\n program's\n version\n number and\n exit\n -x\n X HELP\n --y Y\n Y HELP\n\n EPILOG\n "
parser_signature = <test.test_argparse.Sig object at 0x15FD0250>
setUp()[source]
test_format_help(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0290>>)
test_format_usage(test_func=<bound method AddTests.test_format of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0310>>)
test_print_file_help(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0290>>)
test_print_file_usage(test_func=<bound method AddTests.test_print_file of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0310>>)
test_print_help(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0290>>)
test_print_usage(test_func=<bound method AddTests.test_print of <test.test_argparse.TestHelpFormattingMetaclass.__init__.<locals>.AddTests object at 0x15FD0310>>)
usage = ' usage: PROG\n [-h]\n [-v]\n [-x]\n [--y Y]\n foo\n bar\n '
version = ' 0.1\n '
class test.test_argparse.TestStrings(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test str() and repr() on Optionals and Positionals

assertStringEqual(obj, result_string)[source]
test_argument()[source]
test_namespace()[source]
test_optional()[source]
test_parser()[source]
class test.test_argparse.TestTypeCallable(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test some callables as option/argument types

argument_signatures = [<test.test_argparse.Sig object at 0x15E895D0>, <test.test_argparse.Sig object at 0x15E89ED0>]
failures = ['a', '42j', '--eggs a', '--eggs 2i']
parser_class

alias of ErrorRaisingArgumentParser

parser_signature = <test.test_argparse.Sig object at 0x15E89450>
successes = [('--eggs=42 42', NS(eggs=42, spam=42.0)), ('--eggs 2j -- -1.5', NS(eggs=2j, spam=-1.5)), ('1024.675', NS(eggs=None, spam=1024.675))]
test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E891B0>>)
test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89D10>>)
test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89650>>)
test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89410>>)
test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E897F0>>)
test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E893F0>>)
test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E891B0>>)
test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89D10>>)
test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89650>>)
test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89410>>)
test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E897F0>>)
test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E893F0>>)
class test.test_argparse.TestTypeClassicClass(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a classic class type

class C(value)[source]

Bases: object

TestTypeClassicClass.argument_signatures = [<test.test_argparse.Sig object at 0x15E89730>, <test.test_argparse.Sig object at 0x15E89070>]
TestTypeClassicClass.failures = []
TestTypeClassicClass.parser_class

alias of ErrorRaisingArgumentParser

TestTypeClassicClass.parser_signature = <test.test_argparse.Sig object at 0x15E89530>
TestTypeClassicClass.successes = [('a -x b', NS(spam=<test.test_argparse.TestTypeClassicClass.C object at 0x15E89130>, x=<test.test_argparse.TestTypeClassicClass.C object at 0x15E89EB0>)), ('-xf g', NS(spam=<test.test_argparse.TestTypeClassicClass.C object at 0x15E89BF0>, x=<test.test_argparse.TestTypeClassicClass.C object at 0x15E89B10>))]
TestTypeClassicClass.test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89E30>>)
TestTypeClassicClass.test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89DB0>>)
TestTypeClassicClass.test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89F10>>)
TestTypeClassicClass.test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89790>>)
TestTypeClassicClass.test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E898F0>>)
TestTypeClassicClass.test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E890B0>>)
TestTypeClassicClass.test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89E30>>)
TestTypeClassicClass.test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89DB0>>)
TestTypeClassicClass.test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89F10>>)
TestTypeClassicClass.test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89790>>)
TestTypeClassicClass.test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E898F0>>)
TestTypeClassicClass.test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E890B0>>)
class test.test_argparse.TestTypeFunctionCallOnlyOnce(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_type_function_call_only_once()[source]
class test.test_argparse.TestTypeFunctionCalledOnDefault(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

test_issue_15906()[source]
test_no_double_type_conversion_of_default()[source]
test_type_function_call_with_non_string_default()[source]
test_type_function_call_with_string_default()[source]
class test.test_argparse.TestTypeRegistration(methodName='runTest')[source]

Bases: test.test_argparse.TestCase

Test a user-defined type by registering it

test()[source]
class test.test_argparse.TestTypeUserDefined(methodName='runTest')[source]

Bases: test.test_argparse.ParserTestCase

Test a user-defined option/argument type

class MyType(value)[source]

Bases: test.test_argparse.TestCase

TestTypeUserDefined.argument_signatures = [<test.test_argparse.Sig object at 0x15E89290>, <test.test_argparse.Sig object at 0x15E891D0>]
TestTypeUserDefined.failures = []
TestTypeUserDefined.parser_class

alias of ErrorRaisingArgumentParser

TestTypeUserDefined.parser_signature = <test.test_argparse.Sig object at 0x15E89C90>
TestTypeUserDefined.successes
TestTypeUserDefined.test_failures_many_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89990>>)
TestTypeUserDefined.test_failures_many_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89830>>)
TestTypeUserDefined.test_failures_no_groups_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89AD0>>)
TestTypeUserDefined.test_failures_no_groups_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89750>>)
TestTypeUserDefined.test_failures_one_group_listargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89EF0>>)
TestTypeUserDefined.test_failures_one_group_sysargs(test_func=<bound method AddTests.test_failures of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89B90>>)
TestTypeUserDefined.test_successes_many_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89990>>)
TestTypeUserDefined.test_successes_many_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89830>>)
TestTypeUserDefined.test_successes_no_groups_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89AD0>>)
TestTypeUserDefined.test_successes_no_groups_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89750>>)
TestTypeUserDefined.test_successes_one_group_listargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89EF0>>)
TestTypeUserDefined.test_successes_one_group_sysargs(test_func=<bound method AddTests.test_successes of <test.test_argparse.ParserTesterMetaclass.__init__.<locals>.AddTests object at 0x15E89B90>>)
class test.test_argparse.WFile(name)[source]

Bases: object

seen = set()
test.test_argparse.stderr_to_parser_error(parse_args, *args, **kwargs)[source]
test.test_argparse.test_main()[source]

test.test_array module

Test the arraymodule. Roger E. Masse

class test.test_array.ArrayReconstructorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_error()[source]
test_numbers()[source]
test_unicode()[source]
class test.test_array.ArraySubclass[source]

Bases: array.array

class test.test_array.ArraySubclassWithKwargs(typecode, newarg=None)[source]

Bases: array.array

class test.test_array.BadConstructorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constructor()[source]
class test.test_array.BaseTest[source]

Bases: object

assertEntryEqual(entry1, entry2)[source]
badtypecode()[source]
test_add()[source]
test_buffer()[source]
test_buffer_info()[source]
test_bug_782369()[source]
test_byteswap()[source]
test_cmp()[source]
test_constructor()[source]
test_constructor_with_iterable_argument()[source]
test_copy()[source]
test_count()[source]
test_coveritertraverse()[source]
test_create_from_bytes()[source]
test_deepcopy()[source]
test_delitem()[source]
test_extend()[source]
test_extended_getslice()[source]
test_extended_set_del_slice()[source]
test_filewrite()[source]
test_fromarray()[source]
test_fromfile_ioerror()[source]
test_getitem()[source]
test_getslice()[source]
test_iadd()[source]
test_imul()[source]
test_index()[source]
test_initialize_with_unicode()[source]
test_insert()[source]
test_iterator_pickle()[source]
test_len()[source]
test_mul()[source]
test_pickle()[source]
test_pickle_for_empty_array()[source]
test_pop()[source]
test_reduce_ex()[source]
test_remove()[source]
test_repr()[source]
test_reverse()[source]
test_setitem()[source]
test_setslice()[source]
test_sizeof_with_buffer()[source]
test_sizeof_without_buffer()[source]
test_str()[source]
test_subclass_with_kwargs()[source]
test_tofrombytes()[source]
test_tofromfile()[source]
test_tofromlist()[source]
test_tofromstring()[source]
test_weakref()[source]
class test.test_array.ByteTest(methodName='runTest')[source]

Bases: test.test_array.SignedNumberTest, unittest.case.TestCase

minitemsize = 1
typecode = 'b'
class test.test_array.DoubleTest(methodName='runTest')[source]

Bases: test.test_array.FPTest, unittest.case.TestCase

minitemsize = 8
test_alloc_overflow()[source]
typecode = 'd'
class test.test_array.FPTest[source]

Bases: test.test_array.NumberTest

assertEntryEqual(entry1, entry2)[source]
biggerexample = [-42.0, 0, 42, 100000.0, 10000000000.0]
example = [-42.0, 0, 42, 100000.0, -10000000000.0]
outside = 23
smallerexample = [-42.0, 0, 42, 100000.0, -20000000000.0]
test_byteswap()[source]
class test.test_array.FloatTest(methodName='runTest')[source]

Bases: test.test_array.FPTest, unittest.case.TestCase

minitemsize = 4
typecode = 'f'
class test.test_array.IntTest(methodName='runTest')[source]

Bases: test.test_array.SignedNumberTest, unittest.case.TestCase

minitemsize = 2
typecode = 'i'
class test.test_array.LongLongTest(methodName='runTest')[source]

Bases: test.test_array.SignedNumberTest, unittest.case.TestCase

minitemsize = 8
typecode = 'q'
class test.test_array.LongTest(methodName='runTest')[source]

Bases: test.test_array.SignedNumberTest, unittest.case.TestCase

minitemsize = 4
typecode = 'l'
class test.test_array.NumberTest[source]

Bases: test.test_array.BaseTest

check_overflow(lower, upper)[source]
test_assignment()[source]
test_delslice()[source]
test_extslice()[source]
test_frombytearray()[source]
test_iterationcontains()[source]
test_subclassing()[source]
class test.test_array.ShortTest(methodName='runTest')[source]

Bases: test.test_array.SignedNumberTest, unittest.case.TestCase

minitemsize = 2
typecode = 'h'
class test.test_array.SignedNumberTest[source]

Bases: test.test_array.NumberTest

biggerexample = [-1, 0, 1, 43, 127]
example = [-1, 0, 1, 42, 127]
outside = 23
smallerexample = [-1, 0, 1, 42, 126]
test_overflow()[source]
class test.test_array.StringTest[source]

Bases: test.test_array.BaseTest

test_setitem()[source]
class test.test_array.UnicodeTest(methodName='runTest')[source]

Bases: test.test_array.StringTest, unittest.case.TestCase

biggerexample = '\x01☺\x01\ufeff'
example = '\x01☺\x00\ufeff'
minitemsize = 2
outside = '3'
smallerexample = '\x01☺\x00\ufefe'
test_issue17223()[source]
test_unicode()[source]
typecode = 'u'
class test.test_array.UnsignedByteTest(methodName='runTest')[source]

Bases: test.test_array.UnsignedNumberTest, unittest.case.TestCase

minitemsize = 1
typecode = 'B'
class test.test_array.UnsignedIntTest(methodName='runTest')[source]

Bases: test.test_array.UnsignedNumberTest, unittest.case.TestCase

minitemsize = 2
typecode = 'I'
class test.test_array.UnsignedLongLongTest(methodName='runTest')[source]

Bases: test.test_array.UnsignedNumberTest, unittest.case.TestCase

minitemsize = 8
typecode = 'Q'
class test.test_array.UnsignedLongTest(methodName='runTest')[source]

Bases: test.test_array.UnsignedNumberTest, unittest.case.TestCase

minitemsize = 4
typecode = 'L'
class test.test_array.UnsignedNumberTest[source]

Bases: test.test_array.NumberTest

biggerexample = [0, 1, 17, 23, 43, 255]
example = [0, 1, 17, 23, 42, 255]
outside = 170
smallerexample = [0, 1, 17, 23, 42, 254]
test_bytes_extend()[source]
test_overflow()[source]
class test.test_array.UnsignedShortTest(methodName='runTest')[source]

Bases: test.test_array.UnsignedNumberTest, unittest.case.TestCase

minitemsize = 2
typecode = 'H'

test.test_ast module

class test.test_ast.ASTHelpers_Test(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_integer()[source]
test_copy_location()[source]
test_dump()[source]
test_fix_missing_locations()[source]
test_get_docstring()[source]
test_increment_lineno()[source]
test_iter_child_nodes()[source]
test_iter_fields()[source]
test_literal_eval()[source]
test_literal_eval_issue4907()[source]
test_parse()[source]
test_parse_in_error()[source]
class test.test_ast.ASTValidatorTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

expr(node, msg=None, *, exc=<class 'ValueError'>)[source]
mod(mod, msg=None, mode='exec', *, exc=<class 'ValueError'>)[source]
stmt(stmt, msg=None)[source]
test_assert()[source]
test_assign()[source]
test_attribute()[source]
test_augassign()[source]
test_boolop()[source]
test_call()[source]
test_classdef()[source]
test_compare()[source]
test_delete()[source]
test_dict()[source]
test_dictcomp()[source]
test_expr()[source]
test_for()[source]
test_funcdef()[source]
test_generatorexp()[source]
test_global()[source]
test_if()[source]
test_ifexp()[source]
test_import()[source]
test_importfrom()[source]
test_lambda()[source]
test_list()[source]
test_listcomp()[source]
test_module()[source]
test_nameconstant()[source]
test_nonlocal()[source]
test_num()[source]
test_raise()[source]
test_set()[source]
test_setcomp()[source]
test_starred()[source]
test_stdlib_validates()[source]
test_subscript()[source]
test_try()[source]
test_tuple()[source]
test_unaryop()[source]
test_while()[source]
test_with()[source]
test_yield()[source]
class test.test_ast.AST_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_AST_garbage_collection()[source]
test_AST_objects()[source]
test_arguments()[source]
test_base_classes()[source]
test_classattrs()[source]
test_empty_yield_from()[source]
test_field_attr_existence()[source]
test_field_attr_writable()[source]
test_from_import()[source]
test_invalid_identitifer()[source]
test_invalid_string()[source]
test_invalid_sum()[source]
test_module()[source]
test_no_fields()[source]
test_nodeclasses()[source]
test_non_interned_future_from_ast()[source]
test_pickling()[source]
test_slice()[source]
test_snippets()[source]
test.test_ast.main()[source]
test.test_ast.to_tuple(t)[source]

test.test_asynchat module

class test.test_asynchat.TestAsynchat(methodName='runTest')[source]

Bases: unittest.case.TestCase

line_terminator_check(term, server_chunk)[source]
numeric_terminator_check(termlen)[source]
setUp()[source]
tearDown()[source]
test_close_when_done()[source]
test_empty_line()[source]
test_line_terminator1()[source]
test_line_terminator2()[source]
test_line_terminator3()[source]
test_none_terminator()[source]
test_numeric_terminator1()[source]
test_numeric_terminator2()[source]
test_push()[source]
test_simple_producer()[source]
test_string_producer()[source]
usepoll = False
class test.test_asynchat.TestAsynchatMocked(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_blockingioerror()[source]
class test.test_asynchat.TestAsynchat_WithPoll(methodName='runTest')[source]

Bases: test.test_asynchat.TestAsynchat

usepoll = True
class test.test_asynchat.TestFifo(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test_given_list()[source]
class test.test_asynchat.TestHelperFunctions(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_find_prefix_at_end()[source]
class test.test_asynchat.TestNotConnected(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_disallow_negative_terminator()[source]
class test.test_asynchat.echo_client(terminator, server_port)[source]

Bases: asynchat.async_chat

collect_incoming_data(data)[source]
found_terminator()[source]
class test.test_asynchat.echo_server(event)[source]

Bases: threading.Thread

chunk_size = 1
run()[source]
test.test_asynchat.start_echo_server()[source]

test.test_asyncore module

class test.test_asyncore.BaseClient(family, address)[source]

Bases: test.test_asyncore.BaseTestHandler

handle_connect()[source]
class test.test_asyncore.BaseServer(family, addr, handler=<class 'test.test_asyncore.BaseTestHandler'>)[source]

Bases: asyncore.dispatcher

A server which listens on an address and dispatches the connection to a handler.

address
handle_accepted(sock, addr)[source]
handle_error()[source]
class test.test_asyncore.BaseTestAPI[source]

Bases: object

loop_waiting_for_flag(instance, timeout=5)[source]
tearDown()[source]
test_bind()[source]
test_connection_attributes()[source]
test_create_socket()[source]
test_handle_accept()[source]
test_handle_accepted()[source]
test_handle_close()[source]
test_handle_close_after_conn_broken()[source]
test_handle_connect()[source]
test_handle_error()[source]
test_handle_expt()[source]
test_handle_read()[source]
test_handle_write()[source]
test_quick_connect()[source]
test_set_reuse_addr()[source]
class test.test_asyncore.BaseTestHandler(sock=None)[source]

Bases: asyncore.dispatcher

handle_accept()[source]
handle_accepted()[source]
handle_close()[source]
handle_connect()[source]
handle_error()[source]
handle_expt()[source]
class test.test_asyncore.DispatcherTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_basic()[source]
test_issue_8594()[source]
test_log()[source]
test_log_info()[source]
test_repr()[source]
test_strerror()[source]
test_unhandled()[source]
class test.test_asyncore.DispatcherWithSendTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_send()[source]
usepoll = False
class test.test_asyncore.DispatcherWithSendTests_UsePoll(methodName='runTest')[source]

Bases: test.test_asyncore.DispatcherWithSendTests

usepoll = True
class test.test_asyncore.FileWrapperTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_close_twice()[source]
test_dispatcher()[source]
test_recv()[source]
test_resource_warning()[source]
test_send()[source]
class test.test_asyncore.HelperFunctionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

closeall_check(usedefault)[source]
test_closeall()[source]
test_closeall_default()[source]
test_compact_traceback()[source]
test_readwrite()[source]
test_readwriteexc()[source]
class test.test_asyncore.TestAPI_UseIPv4Poll(methodName='runTest')[source]

Bases: test.test_asyncore.TestAPI_UseIPv4Sockets, unittest.case.TestCase

use_poll = True
class test.test_asyncore.TestAPI_UseIPv4Select(methodName='runTest')[source]

Bases: test.test_asyncore.TestAPI_UseIPv4Sockets, unittest.case.TestCase

use_poll = False
class test.test_asyncore.TestAPI_UseIPv4Sockets[source]

Bases: test.test_asyncore.BaseTestAPI

addr = ('127.0.0.1', 0)
family = <AddressFamily.AF_INET: 2>
class test.test_asyncore.TestAPI_UseIPv6Poll(methodName='runTest')[source]

Bases: test.test_asyncore.TestAPI_UseIPv6Sockets, unittest.case.TestCase

use_poll = True
class test.test_asyncore.TestAPI_UseIPv6Select(methodName='runTest')[source]

Bases: test.test_asyncore.TestAPI_UseIPv6Sockets, unittest.case.TestCase

use_poll = False
class test.test_asyncore.TestAPI_UseIPv6Sockets[source]

Bases: test.test_asyncore.BaseTestAPI

addr = ('::1', 0)
family = <AddressFamily.AF_INET6: 23>
class test.test_asyncore.TestAPI_UseUnixSockets[source]

Bases: test.test_asyncore.BaseTestAPI

addr = '@test_6476_tmp'
tearDown()[source]
class test.test_asyncore.TestAPI_UseUnixSocketsPoll(methodName='runTest')[source]

Bases: test.test_asyncore.TestAPI_UseUnixSockets, unittest.case.TestCase

use_poll = True
class test.test_asyncore.TestAPI_UseUnixSocketsSelect(methodName='runTest')[source]

Bases: test.test_asyncore.TestAPI_UseUnixSockets, unittest.case.TestCase

use_poll = False
test.test_asyncore.bind_af_aware(sock, addr)[source]

Helper function to bind a socket according to its family.

test.test_asyncore.capture_server(evt, buf, serv)[source]
class test.test_asyncore.crashingdummy[source]

Bases: object

handle_close()
handle_error()[source]
handle_expt_event()
handle_read_event()[source]
handle_write_event()
class test.test_asyncore.dispatcherwithsend_noread(sock=None, map=None)[source]

Bases: asyncore.dispatcher_with_send

handle_connect()[source]
readable()[source]
class test.test_asyncore.dummychannel[source]

Bases: object

close()[source]
class test.test_asyncore.dummysocket[source]

Bases: object

close()[source]
fileno()[source]
class test.test_asyncore.exitingdummy[source]

Bases: object

handle_close()
handle_expt_event()
handle_read_event()[source]
handle_write_event()

test.test_atexit module

class test.test_atexit.GeneralTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_args()[source]
test_badargs()[source]
test_bound_methods()[source]
test_clear()[source]
test_order()[source]
test_print_tracebacks()[source]
test_raise()[source]
test_raise_unnormalized()[source]
test_stress()[source]
test_unregister()[source]
class test.test_atexit.SubinterpreterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_callbacks_leak()[source]
test_callbacks_leak_refcycle()[source]
test.test_atexit.h1()[source]
test.test_atexit.h2()[source]
test.test_atexit.h3()[source]
test.test_atexit.h4(*args, **kwargs)[source]
test.test_atexit.raise1()[source]
test.test_atexit.raise2()[source]
test.test_atexit.test_main()[source]

test.test_audioop module

class test.test_audioop.TestAudioop(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_add()[source]
test_adpcm2lin()[source]
test_alaw2lin()[source]
test_avg()[source]
test_avgpp()[source]
test_bias()[source]
test_byteswap()[source]
test_cross()[source]
test_findfactor()[source]
test_findfit()[source]
test_findmax()[source]
test_getsample()[source]
test_invalid_adpcm_state()[source]
test_issue7673()[source]
test_lin2adpcm()[source]
test_lin2alaw()[source]
test_lin2lin()[source]
test_lin2ulaw()[source]
test_max()[source]
test_maxpp()[source]
test_minmax()[source]
test_mul()[source]
test_negativelen()[source]
test_ratecv()[source]
test_reverse()[source]
test_rms()[source]
test_string()[source]
test_tomono()[source]
test_tostereo()[source]
test_ulaw2lin()[source]
test_wrongsize()[source]
test.test_audioop.pack(width, data)[source]
test.test_audioop.unpack(width, data)[source]

test.test_augassign module

class test.test_augassign.AugAssignTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testBasic()[source]
testCustomMethods1()[source]
testCustomMethods2(test_self)[source]
testInDict()[source]
testInList()[source]
testSequences()[source]
test_with_unpacking()[source]
test.test_augassign.test_main()[source]

test.test_base64 module

class test.test_base64.BaseXYTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_decode_type_errors(f)[source]
check_encode_type_errors(f)[source]
check_multidimensional(f, data)[source]
check_nonbyte_element_format(f, data)[source]
check_other_types(f, bytes_data, expected)[source]
test_ErrorHeritage()[source]
test_a85_padding()[source]
test_a85decode()[source]
test_a85decode_errors()[source]
test_a85encode()[source]
test_b16decode()[source]
test_b16encode()[source]
test_b32decode()[source]
test_b32decode_casefold()[source]
test_b32decode_error()[source]
test_b32encode()[source]
test_b64decode()[source]
test_b64decode_invalid_chars()[source]
test_b64decode_padding_error()[source]
test_b64encode()[source]
test_b85_padding()[source]
test_b85decode()[source]
test_b85decode_errors()[source]
test_b85encode()[source]
test_decode_nonascii_str()[source]
class test.test_base64.LegacyBase64TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_type_errors(f)[source]
test_decode()[source]
test_decodebytes()[source]
test_encode()[source]
test_encodebytes()[source]
class test.test_base64.TestMain(methodName='runTest')[source]

Bases: unittest.case.TestCase

get_output(*args, **options)[source]
tearDown()[source]
test_decode()[source]
test_encode_decode()[source]
test_encode_file()[source]
test.test_base64.test_main()[source]

test.test_bigaddrspace module

These tests are meant to exercise that requests to create objects bigger than what the address space allows are properly met with an OverflowError (rather than crash weirdly).

Primarily, this means 32-bit builds with at least 2 GB of available memory. You need to pass the -M option to regrtest (e.g. “-M 2.1G”) for tests to be enabled.

class test.test_bigaddrspace.BytesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_concat()
test_optimized_concat()
test_repeat()
class test.test_bigaddrspace.StrTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_concat()
test_optimized_concat()
test_repeat()
unicodesize = 4
test.test_bigaddrspace.test_main()[source]

test.test_bigmem module

Bigmem tests - tests for the 32-bit boundary in containers.

These tests try to exercise the 32-bit boundary that is sometimes, if rarely, exceeded in practice, but almost never tested. They are really only meaningful on 64-bit builds on machines with a lot of memory, but the tests are always run, usually with very low memory limits to make sure the tests themselves don’t suffer from bitrot. To run them for real, pass a high memory limit to regrtest, with the -M option.

class test.test_bigmem.BaseStrTest[source]

Bases: object

test_center()
test_compare()
test_concat()
test_contains()
test_count()
test_endswith()
test_expandtabs()
test_find()
test_hash()
test_index()
test_isalnum()
test_isalpha()
test_isdigit()
test_islower()
test_isspace()
test_istitle()
test_isupper()
test_join()
test_ljust()
test_lower()
test_lstrip()
test_repeat()
test_replace()
test_rfind()
test_rindex()
test_rjust()
test_rstrip()
test_slice_and_getitem()
test_split_large()
test_split_small()
test_splitlines()
test_startswith()
test_strip()
test_translate()
test_upper()
test_zfill()
class test.test_bigmem.BytearrayTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_bigmem.BaseStrTest

from_latin1(s)[source]
test_capitalize()
test_decode()
test_hash = None
test_split_large = None
test_swapcase()
test_title()
class test.test_bigmem.BytesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_bigmem.BaseStrTest

from_latin1(s)[source]
test_capitalize()
test_decode()
test_swapcase()
test_title()
class test.test_bigmem.ListTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

basic_test_concat(size)[source]
basic_test_extend(size)[source]
basic_test_inplace_concat(size)[source]
basic_test_inplace_repeat(size)[source]
basic_test_repeat(size)[source]
basic_test_repr(size)[source]
test_append()
test_compare()
test_concat_large()
test_concat_small()
test_contains()
test_count()
test_extend_large()
test_extend_small()
test_hash()
test_index()
test_index_and_slice()
test_inplace_concat_large()
test_inplace_concat_small()
test_inplace_repeat_large()
test_inplace_repeat_small()
test_insert()
test_pop()
test_remove()
test_repeat_large()
test_repeat_small()
test_repr_large()
test_repr_small()
test_reverse()
test_sort()
class test.test_bigmem.StrTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_bigmem.BaseStrTest

basic_encode_test(size, enc, c='.', expectedsize=None)[source]
from_latin1(s)[source]
setUp()[source]
tearDown()[source]
test_capitalize()
test_encode()
test_encode_ascii()
test_encode_raw_unicode_escape()
test_encode_utf32()
test_encode_utf7()
test_format()
test_repr_large()
test_repr_small()
test_swapcase()
test_title()
test_translate()
test_unicode_repr()
test_unicode_repr_wide()
class test.test_bigmem.TupleTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

basic_concat_test(size)[source]
basic_test_repeat(size)[source]
basic_test_repr(size)[source]
test_compare()
test_concat_large()
test_concat_small()
test_contains()
test_from_2G_generator()
test_from_almost_2G_generator()
test_hash()
test_index_and_slice()
test_repeat_large()
test_repeat_large_2()
test_repeat_small()
test_repr_large()
test_repr_small()
test.test_bigmem.test_main()[source]

test.test_binascii module

Test the binascii C module.

class test.test_binascii.ArrayBinASCIITest(methodName='runTest')[source]

Bases: test.test_binascii.BinASCIITest

type2test(s)[source]
class test.test_binascii.BinASCIITest(methodName='runTest')[source]

Bases: unittest.case.TestCase

rawdata = b'The quick brown fox jumps over the lazy dog.\r\n\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff\r\nHello world.\n'
setUp()[source]
test_base64invalid()[source]
test_base64valid()[source]
test_crc32()[source]
test_empty_string()[source]
test_exceptions()[source]
test_functions()[source]
test_hex()[source]
test_hqx()[source]
test_qp()[source]
test_returned_value()[source]
test_unicode_a2b()[source]
test_unicode_b2a()[source]
test_uu()[source]
type2test

alias of bytes

class test.test_binascii.BytearrayBinASCIITest(methodName='runTest')[source]

Bases: test.test_binascii.BinASCIITest

type2test

alias of bytearray

class test.test_binascii.MemoryviewBinASCIITest(methodName='runTest')[source]

Bases: test.test_binascii.BinASCIITest

type2test

alias of memoryview

test.test_binascii.test_main()[source]

test.test_binhex module

Test script for the binhex C module

Uses the mechanism of the python binhex module Based on an original test by Roger E. Masse.

class test.test_binhex.BinHexTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

DATA = b'Jack is my hero'
setUp()[source]
tearDown()[source]
test_binhex()[source]
test_binhex_error_on_long_filename()[source]

The testcase fails if no exception is raised when a filename parameter provided to binhex.binhex() is too long, or if the exception raised in binhex.binhex() is not an instance of binhex.Error.

test.test_binhex.test_main()[source]

test.test_binop module

Tests for binary operators on subtypes of built-in types.

class test.test_binop.A(logger)[source]

Bases: test.test_binop.OperationLogger

class test.test_binop.B(logger)[source]

Bases: test.test_binop.OperationLogger

class test.test_binop.C(logger)[source]

Bases: test.test_binop.B

class test.test_binop.OperationLogger(logger)[source]

Bases: object

Base class for classes with operation logging.

log_operation(*args)[source]
class test.test_binop.OperationOrderTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_comparison_orders()[source]
class test.test_binop.Rat(num=0, den=1)[source]

Bases: object

Rational number implemented as a normalized pair of ints.

den

Accessor function for read-only ‘den’ attribute of Rat.

num

Accessor function for read-only ‘num’ attribute of Rat.

class test.test_binop.RatTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for Rat class and its support utilities.

test_add()[source]
test_constructor()[source]
test_div()[source]
test_eq()[source]
test_floordiv()[source]
test_gcd()[source]
test_mul()[source]
test_sub()[source]
test_true_div()[source]
test.test_binop.gcd(a, b)[source]

Greatest common divisor using Euclid’s algorithm.

test.test_binop.isRat(x)[source]

Test wheter an object is an instance of the Rat class.

test.test_binop.isint(x)[source]

Test whether an object is an instance of int.

test.test_binop.isnum(x)[source]

Test whether an object is an instance of a built-in numeric type.

test.test_binop.op_sequence(op, *classes)[source]

Return the sequence of operations that results from applying the operation op to instances of the given classes.

test.test_binop.test_main()[source]

test.test_bisect module

class test.test_bisect.CmpErr[source]

Bases: object

Dummy element that always raises an error during comparison

class test.test_bisect.GetOnly[source]

Bases: object

Dummy sequence class defining __getitem__ but not __len__.

class test.test_bisect.LenOnly[source]

Bases: object

Dummy sequence class defining __len__ but not __getitem__.

class test.test_bisect.Range(start, stop)[source]

Bases: object

A trivial range()-like object that has an insert() method.

insert(idx, item)[source]
class test.test_bisect.TestBisect[source]

Bases: object

setUp()[source]
test_backcompatibility()[source]
test_keyword_args()[source]
test_large_pyrange()[source]
test_large_range()[source]
test_negative_lo()[source]
test_optionalSlicing()[source]
test_precomputed()[source]
test_random(n=25)[source]
class test.test_bisect.TestBisectC(methodName='runTest')[source]

Bases: test.test_bisect.TestBisect, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestBisectPython(methodName='runTest')[source]

Bases: test.test_bisect.TestBisect, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestDocExample[source]

Bases: object

test_colors()[source]
test_grades()[source]
class test.test_bisect.TestDocExampleC(methodName='runTest')[source]

Bases: test.test_bisect.TestDocExample, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestDocExamplePython(methodName='runTest')[source]

Bases: test.test_bisect.TestDocExample, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestErrorHandling[source]

Bases: object

test_arg_parsing()[source]
test_cmp_err()[source]
test_get_only()[source]
test_len_only()[source]
test_non_sequence()[source]
class test.test_bisect.TestErrorHandlingC(methodName='runTest')[source]

Bases: test.test_bisect.TestErrorHandling, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestErrorHandlingPython(methodName='runTest')[source]

Bases: test.test_bisect.TestErrorHandling, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestInsort[source]

Bases: object

test_backcompatibility()[source]
test_listDerived()[source]
test_vsBuiltinSort(n=500)[source]
class test.test_bisect.TestInsortC(methodName='runTest')[source]

Bases: test.test_bisect.TestInsort, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>
class test.test_bisect.TestInsortPython(methodName='runTest')[source]

Bases: test.test_bisect.TestInsort, unittest.case.TestCase

module = <module 'bisect' from 'C:\\Python34\\lib\\bisect.py'>

test.test_bool module

class test.test_bool.BoolTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_boolean()[source]
test_callable()[source]
test_contains()[source]
test_convert()[source]
test_convert_to_bool()[source]
test_fileclosed()[source]
test_float()[source]
test_format()[source]
test_hasattr()[source]
test_int()[source]
test_isinstance()[source]
test_issubclass()[source]
test_marshal()[source]
test_math()[source]
test_operator()[source]
test_pickle()[source]
test_picklevalues()[source]
test_print()[source]
test_real_and_imag()[source]
test_repr()[source]
test_sane_len()[source]
test_str()[source]
test_string()[source]
test_subclass()[source]
test_types()[source]
test.test_bool.test_main()[source]

test.test_buffer module

class test.test_buffer.TestBufferProtocol(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_issue_7385()[source]
test_memoryview_array()[source]
test_memoryview_assign()[source]
test_memoryview_cast()[source]
test_memoryview_cast_1D_ND()[source]
test_memoryview_cast_invalid()[source]
test_memoryview_cast_zero_shape()[source]
test_memoryview_cast_zero_strides()[source]
test_memoryview_check_released()[source]
test_memoryview_compare_multidim_c()[source]
test_memoryview_compare_multidim_fortran()[source]
test_memoryview_compare_multidim_mixed()[source]
test_memoryview_compare_multidim_suboffsets()[source]
test_memoryview_compare_multidim_zero_shape()[source]
test_memoryview_compare_multidim_zero_strides()[source]
test_memoryview_compare_ndim_one()[source]
test_memoryview_compare_ndim_zero()[source]
test_memoryview_compare_not_equal()[source]
test_memoryview_compare_random_formats()[source]
test_memoryview_compare_special_cases()[source]
test_memoryview_compare_zero_shape()[source]
test_memoryview_compare_zero_strides()[source]
test_memoryview_construction()[source]
test_memoryview_from_static_exporter()[source]
test_memoryview_get_contiguous()[source]
test_memoryview_getbuffer_undefined()[source]
test_memoryview_hash()[source]
test_memoryview_index()[source]
test_memoryview_redirect()[source]
test_memoryview_release()[source]
test_memoryview_repr()[source]
test_memoryview_sequence()[source]
test_memoryview_serializing()[source]
test_memoryview_slice()[source]
test_memoryview_struct_module()[source]
test_memoryview_tobytes()[source]
test_memoryview_tolist()[source]
test_ndarray_cmp_contig()[source]
test_ndarray_exceptions()[source]
test_ndarray_format_scalar()[source]
test_ndarray_format_shape()[source]
test_ndarray_format_strides()[source]
test_ndarray_fortran()[source]
test_ndarray_get_pointer()[source]
test_ndarray_getbuf()[source]
test_ndarray_hash()[source]
test_ndarray_index_getitem_multidim()[source]
test_ndarray_index_getitem_single()[source]
test_ndarray_index_invalid()[source]
test_ndarray_index_null_strides()[source]
test_ndarray_index_scalar()[source]
test_ndarray_index_setitem_single()[source]
test_ndarray_linked_list()[source]
test_ndarray_memoryview_from_buffer()[source]
test_ndarray_multidim()[source]
test_ndarray_offset()[source]
test_ndarray_random()[source]
test_ndarray_random_invalid()[source]
test_ndarray_random_slice_assign()[source]
test_ndarray_re_export()[source]
test_ndarray_sequence()[source]
test_ndarray_slice_assign_multidim()[source]
test_ndarray_slice_assign_single()[source]
test_ndarray_slice_invalid()[source]
test_ndarray_slice_multidim()[source]
test_ndarray_slice_redundant_suboffsets()[source]
test_ndarray_slice_zero_shape()[source]
test_ndarray_tolist_null_strides()[source]
test_ndarray_zero_shape()[source]
test_ndarray_zero_strides()[source]
test_py_buffer_to_contiguous()[source]
verify(result, obj=-1, itemsize={1}, fmt=-1, readonly={1}, ndim={1}, shape=-1, strides=-1, lst=-1, sliced=False, cast=False)[source]
verify_getbuf(orig_ex, ex, req, sliced=False)[source]
test.test_buffer.atomp(lst)[source]

Tuple items (representing structs) are regarded as atoms.

test.test_buffer.carray(items, shape)[source]
test.test_buffer.cast_items(exporter, fmt, itemsize, shape=None)[source]

Interpret the raw memory of ‘exporter’ as a list of items with size ‘itemsize’. If shape=None, the new structure is assumed to be 1-D with n * itemsize = bytelen. If shape is given, the usual constraint for contiguous arrays prod(shape) * itemsize = bytelen applies. On success, return (items, shape). If the constraints cannot be met, return (None, None). If a chunk of bytes is interpreted as NaN as a result of float conversion, return (‘nan’, None).

test.test_buffer.cmp_structure(llst, rlst, lslices, rslices)[source]

Compare the structure of llst[lslices] and rlst[rslices].

test.test_buffer.farray(items, shape)[source]
test.test_buffer.flatten(lst)[source]

flatten list or return scalar

test.test_buffer.gen_item(fmt, obj)[source]

Return single random item.

test.test_buffer.gen_items(n, fmt, obj)[source]

Return a list of random items (or a scalar).

test.test_buffer.gencastshapes()[source]

Generate shapes to test casting.

test.test_buffer.genslices(n, allow_empty=False)[source]

Generate random slices for a single dimension.

test.test_buffer.genslices_ndim(ndim, shape, iterations=5)[source]

Generate random slice tuples for ‘shape’.

test.test_buffer.get_item(lst, indices)[source]
test.test_buffer.getindex(ndim, ind, strides)[source]

Convert multi-dimensional index to the position in the flat list.

test.test_buffer.indices(shape)[source]

Generate all possible tuples of indices.

test.test_buffer.is_byte_format(fmt)[source]
test.test_buffer.is_memoryview_format(fmt)[source]

format suitable for memoryview

test.test_buffer.is_overlapping(t)[source]

The structure ‘t’ is overlapping if at least one memory location is visited twice while iterating through all possible tuples of indices.

test.test_buffer.iter_format(nitems, testobj='ndarray')[source]

Yield (format, items, item) for all possible modes and format characters plus one random compound format string.

test.test_buffer.iter_mode(n, obj='ndarray')[source]

Iterate through supported mode/char combinations.

test.test_buffer.listp(lst)[source]
test.test_buffer.m_assign(llst, rlst, lslices, rslices)[source]

Multi-dimensional slice assignment: llst and rlst are the operands, lslices and rslices are lists of slice objects. llst and rlst must have the same structure.

For a two-dimensional example, this is not implemented in Python:

llst[0:3:2, 0:3:2] = rlst[1:3:1, 1:3:1]

Instead we write:

lslices = [slice(0,3,2), slice(0,3,2)] rslices = [slice(1,3,1), slice(1,3,1)] multislice_assign(llst, rlst, lslices, rslices)
test.test_buffer.memory_index(indices, t)[source]

Location of an item in the underlying memory.

test.test_buffer.multislice(lst, slices)[source]

Multi-dimensional slicing: slices is a list of slice objects.

test.test_buffer.multislice_assign(llst, rlst, lslices, rslices)[source]

Return llst after assigning: llst[lslices] = rlst[rslices]

test.test_buffer.native_type_range(fmt)[source]

Return range of a native type.

test.test_buffer.ndarray_from_structure(items, fmt, t, flags=0)[source]

Return ndarray from the tuple returned by rand_structure()

test.test_buffer.ndarray_print(nd)[source]

Print ndarray for debugging.

test.test_buffer.numpy_array_from_structure(items, fmt, t)[source]

Return numpy_array from the tuple returned by rand_structure()

test.test_buffer.permutations(iterable, r=None)
test.test_buffer.prod(lst)[source]

Product of list elements.

test.test_buffer.rand_aligned_slices(maxdim=5, maxshape=16)[source]

Create (lshape, rshape, tuple(lslices), tuple(rslices)) such that shapeof(x[lslices]) == shapeof(y[rslices]), where x is an array with shape ‘lshape’ and y is an array with shape ‘rshape’.

test.test_buffer.rand_structure(itemsize, valid, maxdim=5, maxshape=16, shape=())[source]
Return random structure:
(memlen, itemsize, ndim, shape, strides, offset)

If ‘valid’ is true, the returned structure is valid, otherwise invalid. If ‘shape’ is given, use that instead of creating a random shape.

test.test_buffer.randitems(n, obj='ndarray', mode=None, char=None)[source]

Return random format, items, item.

test.test_buffer.randitems_from_structure(fmt, t)[source]

Return a list of random items for structure ‘t’ with format ‘fmtchar’.

test.test_buffer.randrange_fmt(mode, char, obj)[source]

Return random item for a type specified by a mode and a single format character.

test.test_buffer.randslice_from_shape(ndim, shape)[source]

Create two sets of slices for an array x with shape ‘shape’ such that shapeof(x[lslices]) == shapeof(x[rslices]).

test.test_buffer.randslice_from_slicelen(slicelen, listlen)[source]

Create a random slice of len slicelen that fits into listlen.

test.test_buffer.rpermutation(iterable, r=None)[source]
test.test_buffer.rslice(n, allow_empty=False)[source]

Generate random slice for a single dimension of length n. If zero=True, the slices may be empty, otherwise they will be non-empty.

test.test_buffer.rslices(n, allow_empty=False)[source]

Generate random slices for a single dimension.

test.test_buffer.rslices_ndim(ndim, shape, iterations=5)[source]

Generate random slice tuples for ‘shape’.

test.test_buffer.slice_shape(lst, slices)[source]

Get the shape of lst after slicing: slices is a list of slice objects.

test.test_buffer.strides_from_shape(ndim, shape, itemsize, layout)[source]

Calculate strides of a contiguous array. Layout is ‘C’ or ‘F’ (Fortran).

test.test_buffer.struct_items(n, obj)[source]
test.test_buffer.transpose(src, shape)[source]

Transpose flat item list that is regarded as a multi-dimensional matrix defined by shape: dest...[k][j][i] = src[i][j][k]...

test.test_buffer.verify_structure(memlen, itemsize, ndim, shape, strides, offset)[source]

Verify that the parameters represent a valid array within the bounds of the allocated memory:

char *mem: start of the physical memory block memlen: length of the physical memory block offset: (char *)buf - mem

test.test_bufio module

class test.test_bufio.BufferSizeTest[source]

Bases: object

drive_one(pattern)[source]
test_nullpat()[source]
test_primepat()[source]
try_one(s)[source]
class test.test_bufio.CBufferSizeTest(methodName='runTest')[source]

Bases: test.test_bufio.BufferSizeTest, unittest.case.TestCase

open()
open(file, mode=’r’, buffering=-1, encoding=None,
errors=None, newline=None, closefd=True, opener=None) -> file object

Open file and return a stream. Raise IOError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for creating and writing to a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register or run ‘help(codecs.Codec)’ for a list of the permitted encoding error strings.

newline controls how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’ or ‘n’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_bufio.PyBufferSizeTest(methodName='runTest')[source]

Bases: test.test_bufio.BufferSizeTest, unittest.case.TestCase

static open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream. Raise OSError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for exclusive creation of a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the str name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register for a list of the permitted encoding error strings.

newline is a string controlling how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

closedfd is a bool. If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

The newly created file is non-inheritable.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

test.test_builtin module

class test.test_builtin.BitBucket[source]

Bases: object

write(line)[source]
class test.test_builtin.BuiltinTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

class C_get_vars[source]

Bases: object

getDict()[source]
BuiltinTest.check_input_tty(prompt, terminal_input, stdio_encoding=None)[source]
BuiltinTest.check_iter_pickle(it, seq)[source]
static BuiltinTest.get_vars_f0()[source]
static BuiltinTest.get_vars_f2()[source]
BuiltinTest.linux_alpha = False
BuiltinTest.system_round_bug = False
BuiltinTest.test_abs()[source]
BuiltinTest.test_all()[source]
BuiltinTest.test_any()[source]
BuiltinTest.test_ascii()[source]
BuiltinTest.test_bin()[source]
BuiltinTest.test_bytearray_translate()[source]
BuiltinTest.test_callable()[source]
BuiltinTest.test_chr()[source]
BuiltinTest.test_cmp()[source]
BuiltinTest.test_compile()[source]
BuiltinTest.test_construct_singletons()[source]
BuiltinTest.test_delattr()[source]
BuiltinTest.test_dir()[source]
BuiltinTest.test_divmod()[source]
BuiltinTest.test_eval()[source]
BuiltinTest.test_exec()[source]
BuiltinTest.test_exec_globals()[source]
BuiltinTest.test_exec_redirected()[source]
BuiltinTest.test_filter()[source]
BuiltinTest.test_filter_pickle()[source]
BuiltinTest.test_format()[source]
BuiltinTest.test_general_eval()[source]
BuiltinTest.test_getattr()[source]
BuiltinTest.test_hasattr()[source]
BuiltinTest.test_hash()[source]
BuiltinTest.test_hex()[source]
BuiltinTest.test_id()[source]
BuiltinTest.test_import()[source]
BuiltinTest.test_input()[source]
BuiltinTest.test_input_tty()[source]
BuiltinTest.test_input_tty_non_ascii()[source]
BuiltinTest.test_input_tty_non_ascii_unicode_errors()[source]
BuiltinTest.test_isinstance()[source]
BuiltinTest.test_issubclass()[source]
BuiltinTest.test_iter()[source]
BuiltinTest.test_len()[source]
BuiltinTest.test_map()[source]
BuiltinTest.test_map_pickle()[source]
BuiltinTest.test_max()[source]
BuiltinTest.test_min()[source]
BuiltinTest.test_neg()[source]
BuiltinTest.test_next()[source]
BuiltinTest.test_oct()[source]
BuiltinTest.test_open()[source]
BuiltinTest.test_open_default_encoding()[source]
BuiltinTest.test_open_non_inheritable()[source]
BuiltinTest.test_ord()[source]
BuiltinTest.test_pow()[source]
BuiltinTest.test_repr()[source]
BuiltinTest.test_round()[source]
BuiltinTest.test_round_large()[source]
BuiltinTest.test_setattr()[source]
BuiltinTest.test_sum()[source]
BuiltinTest.test_type()[source]
BuiltinTest.test_vars()[source]
BuiltinTest.test_zip()[source]
BuiltinTest.test_zip_pickle()[source]
BuiltinTest.write_testfile()[source]
class test.test_builtin.ShutdownTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cleanup()[source]
class test.test_builtin.Squares(max)[source]

Bases: object

class test.test_builtin.StrSquares(max)[source]

Bases: object

class test.test_builtin.TestFailingBool[source]

Bases: object

class test.test_builtin.TestFailingIter[source]

Bases: object

class test.test_builtin.TestSorted(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_baddecorator()[source]
test_basic()[source]
test_inputtypes()[source]
test.test_builtin.filter_char(arg)[source]
test.test_builtin.load_tests(loader, tests, pattern)[source]
test.test_builtin.map_char(arg)[source]

test.test_bytes module

Unit tests for the bytes and bytearray types.

XXX This is a mess. Common tests should be moved to buffer_tests.py, which itself ought to be unified with string_tests.py (and the latter should be modernized).

class test.test_bytes.AssortedBytesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_compare()[source]
test_compare_bytes_to_bytearray()[source]
test_doc()[source]
test_from_bytearray()[source]
test_literal()[source]
test_repr_str()[source]
test_return_self()[source]
test_rsplit_bytearray()[source]
test_split_bytearray()[source]
test_to_str()[source]
test_translate()[source]
class test.test_bytes.BaseBytesTest[source]

Bases: object

test_basics()[source]
test_center()[source]
test_compare()[source]
test_compare_to_str()[source]
test_concat()[source]
test_constructor_type_errors()[source]
test_constructor_value_errors()[source]
test_contains()[source]
test_copy()[source]
test_count()[source]
test_decode()[source]
test_empty_sequence()[source]
test_encoding()[source]
test_endswith()[source]
test_extended_getslice()[source]
test_find()[source]
test_find_etc_raise_correct_error_messages()[source]
test_from_index()[source]
test_from_int()[source]
test_from_list()[source]
test_from_ssize()[source]
test_fromhex()[source]
test_getslice()[source]
test_index()[source]
test_integer_arguments_out_of_byte_range()[source]
test_iterator_pickling()[source]
test_join()[source]
test_ljust()[source]
test_lstrip()[source]
test_maketrans()[source]
test_none_arguments()[source]
test_ord()[source]
test_partition()[source]
test_pickling()[source]
test_repeat()[source]
test_repeat_1char()[source]
test_replace()[source]
test_reversed()[source]
test_rfind()[source]
test_rindex()[source]
test_rjust()[source]
test_rpartition()[source]
test_rsplit()[source]
test_rsplit_string_error()[source]
test_rsplit_unicodewhitespace()[source]
test_rsplit_whitespace()[source]
test_rstrip()[source]
test_split()[source]
test_split_string_error()[source]
test_split_unicodewhitespace()[source]
test_split_whitespace()[source]
test_startswith()[source]
test_strip()[source]
test_strip_bytearray()[source]
test_strip_string_error()[source]
test_strip_whitespace()[source]
class test.test_bytes.ByteArrayAsStringTest(methodName='runTest')[source]

Bases: test.test_bytes.FixedStringTest, unittest.case.TestCase

contains_bytes = True
type2test

alias of bytearray

class test.test_bytes.ByteArraySubclass[source]

Bases: bytearray

class test.test_bytes.ByteArraySubclassTest(methodName='runTest')[source]

Bases: test.test_bytes.SubclassTest, unittest.case.TestCase

subclass2test

alias of ByteArraySubclass

test_init_override()[source]
type2test

alias of bytearray

class test.test_bytes.ByteArrayTest(methodName='runTest')[source]

Bases: test.test_bytes.BaseBytesTest, unittest.case.TestCase

test_alloc()[source]
test_append()[source]
test_bytearray_api()[source]
test_clear()[source]
test_copied()[source]
test_copy()[source]
test_delitem()[source]
test_extend()[source]
test_extended_set_del_slice()[source]
test_iconcat()[source]
test_insert()[source]
test_irepeat()[source]
test_irepeat_1char()[source]
test_nohash()[source]
test_nosort()[source]
test_partition_bytearray_doesnt_share_nullstring()[source]
test_pop()[source]
test_regexps()[source]
test_remove()[source]
test_resize_forbidden()[source]
test_reverse()[source]
test_setitem()[source]
test_setslice()[source]
test_setslice_extend()[source]
test_setslice_trap()[source]
type2test

alias of bytearray

class test.test_bytes.BytearrayPEP3137Test(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.buffer_tests.MixinBytesBufferCommonTests

marshal(x)[source]
test_returns_new_copy()[source]
class test.test_bytes.BytesAsStringTest(methodName='runTest')[source]

Bases: test.test_bytes.FixedStringTest, unittest.case.TestCase

contains_bytes = True
type2test

alias of bytes

class test.test_bytes.BytesSubclass[source]

Bases: bytes

class test.test_bytes.BytesSubclassTest(methodName='runTest')[source]

Bases: test.test_bytes.SubclassTest, unittest.case.TestCase

subclass2test

alias of BytesSubclass

type2test

alias of bytes

class test.test_bytes.BytesTest(methodName='runTest')[source]

Bases: test.test_bytes.BaseBytesTest, unittest.case.TestCase

test_buffer_is_readonly()[source]
test_custom()[source]
test_from_format()[source]
type2test

alias of bytes

class test.test_bytes.FixedStringTest[source]

Bases: test.string_tests.BaseTest

fixtype(obj)[source]
test_contains()[source]
test_expandtabs()[source]
test_lower()[source]
test_upper()[source]
class test.test_bytes.Indexable(value=0)[source]

Bases: object

class test.test_bytes.SubclassTest[source]

Bases: object

test_basic()[source]
test_copy()[source]
test_join()[source]
test_pickle()[source]
test.test_bytes.check_bytes_warnings(func)[source]

test.test_bz2 module

class test.test_bz2.BZ2CompressorTest(methodName='runTest')[source]

Bases: test.test_bz2.BaseTest

testCompress()[source]
testCompress4G()
testCompressChunks10()[source]
testCompressEmptyString()[source]
testPickle()[source]
class test.test_bz2.BZ2DecompressorTest(methodName='runTest')[source]

Bases: test.test_bz2.BaseTest

testDecompress()[source]
testDecompress4G()
testDecompressChunks10()[source]
testDecompressUnusedData()[source]
testEOFError()[source]
testPickle()[source]
test_Constructor()[source]
class test.test_bz2.BZ2FileTest(methodName='runTest')[source]

Bases: test.test_bz2.BaseTest

Test the BZ2File class.

createTempFile(streams=1, suffix=b'')[source]
testAppend()[source]
testBadArgs()[source]
testClosedIteratorDeadlock()[source]
testContextProtocol()[source]
testFileno()[source]
testIterator()[source]
testIteratorMultiStream()[source]
testMixedIterationAndReads()[source]
testMultiStreamOrdering()[source]
testOpenBytesFilename()[source]
testOpenDel()[source]
testOpenNonexistent()[source]
testPeek()[source]
testPeekBytesIO()[source]
testRead()[source]
testRead0()[source]
testRead100()[source]
testReadBadFile()[source]
testReadBytesIO()[source]
testReadChunk10()[source]
testReadChunk10MultiStream()[source]
testReadInto()[source]
testReadLine()[source]
testReadLineMultiStream()[source]
testReadLines()[source]
testReadLinesMultiStream()[source]
testReadMonkeyMultiStream()[source]
testReadMultiStream()[source]
testReadMultiStreamTrailingJunk()[source]
testReadTrailingJunk()[source]
testReadable()[source]
testReadlinesNoNewline()[source]
testSeekBackwards()[source]
testSeekBackwardsAcrossStreams()[source]
testSeekBackwardsBytesIO()[source]
testSeekBackwardsFromEnd()[source]
testSeekBackwardsFromEndAcrossStreams()[source]
testSeekForward()[source]
testSeekForwardAcrossStreams()[source]
testSeekForwardBytesIO()[source]
testSeekPostEnd()[source]
testSeekPostEndMultiStream()[source]
testSeekPostEndTwice()[source]
testSeekPostEndTwiceMultiStream()[source]
testSeekPreStart()[source]
testSeekPreStartMultiStream()[source]
testSeekable()[source]
testThreading()[source]
testWithoutThreading()[source]
testWritable()[source]
testWrite()[source]
testWriteBytesIO()[source]
testWriteChunks10()[source]
testWriteLines()[source]
testWriteMethodsOnReadOnlyFile()[source]
testWriteNonDefaultCompressLevel()[source]
test_read_truncated()[source]
class test.test_bz2.BaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Base for other testcases.

BAD_DATA = b'this is not a valid bzip2 file'
DATA = b'BZh91AY&SY.\xc8N\x18\x00\x01>_\x80\x00\x10@\x02\xff\xf0\x01\x07n\x00?\xe7\xff\xe00\x01\x99\xaa\x00\xc0\x03F\x86\x8c#&\x83F\x9a\x03\x06\xa6\xd0\xa6\x93M\x0fQ\xa7\xa8\x06\x804hh\x12$\x11\xa4i4\xf14S\xd2<Q\xb5\x0fH\xd3\xd4\xdd\xd5\x87\xbb\xf8\x94\r\x8f\xafI\x12\xe1\xc9\xf8/E\x00pu\x89\x12]\xc9\xbbDL\nQ\x0e\t1\x12\xdf\xa0\xc0\x97\xac2O9\x89\x13\x94\x0e\x1c7\x0ed\x95I\x0c\xaaJ\xa4\x18L\x10\x05#\x9c\xaf\xba\xbc/\x97\x8a#C\xc8\xe1\x8cW\xf9\xe2\xd0\xd6M\xa7\x8bXa<e\x84t\xcbL\xb3\xa7\xd9\xcd\xd1\xcb\x84.\xaf\xb3\xab\xab\xad`n}\xa0lh\tE,\x8eZ\x15\x17VH>\x88\xe5\xcd9gd6\x0b\n\xe9\x9b\xd5\x8a\x99\xf7\x08.K\x8ev\xfb\xf7xw\xbb\xdf\xa1\x92\xf1\xdd|/";\xa2\xba\x9f\xd5\xb1#A\xb6\xf6\xb3o\xc9\xc5y\\\xebO\xe7\x85\x9a\xbc\xb6f8\x952\xd5\xd7"%\x89>V,\xf7\xa6z\xe2\x9f\xa3\xdf\x11\x11"\xd6E)I\xa9\x13^\xca\xf3r\xd0\x03U\x922\xf26\xec\xb6\xed\x8b\xc3U\x13\x9d\xc5\x170\xa4\xfa^\x92\xacDF\x8a\x97\xd6\x19\xfe\xdd\xb8\xbd\x1a\x9a\x19\xa3\x80ankR\x8b\xe5\xd83]\xa9\xc6\x08\x82f\xf6\xb9"6l$\xb8j@\xc0\x8a\xb0l1..\xbak\x83ls\x15\xbc\xf4\xc1\x13\xbe\xf8E\xb8\x9d\r\xa8\x9dk\x84\xd3n\xfa\xacQ\x07\xb1%y\xaav\xb4\x08\xe0z\x1b\x16\xf5\x04\xe9\xcc\xb9\x08z\x1en7.G\xfc]\xc9\x14\xe1B@\xbb!8`'
EMPTY_DATA = b'BZh9\x17rE8P\x90\x00\x00\x00\x00'
TEXT = b'root:x:0:0:root:/root:/bin/bash\nbin:x:1:1:bin:/bin:\ndaemon:x:2:2:daemon:/sbin:\nadm:x:3:4:adm:/var/adm:\nlp:x:4:7:lp:/var/spool/lpd:\nsync:x:5:0:sync:/sbin:/bin/sync\nshutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\nhalt:x:7:0:halt:/sbin:/sbin/halt\nmail:x:8:12:mail:/var/spool/mail:\nnews:x:9:13:news:/var/spool/news:\nuucp:x:10:14:uucp:/var/spool/uucp:\noperator:x:11:0:operator:/root:\ngames:x:12:100:games:/usr/games:\ngopher:x:13:30:gopher:/usr/lib/gopher-data:\nftp:x:14:50:FTP User:/var/ftp:/bin/bash\nnobody:x:65534:65534:Nobody:/home:\npostfix:x:100:101:postfix:/var/spool/postfix:\nniemeyer:x:500:500::/home/niemeyer:/bin/bash\npostgres:x:101:102:PostgreSQL Server:/var/lib/pgsql:/bin/bash\nmysql:x:102:103:MySQL server:/var/lib/mysql:/bin/bash\nwww:x:103:104::/var/www:/bin/false\n'
TEXT_LINES = [b'root:x:0:0:root:/root:/bin/bash\n', b'bin:x:1:1:bin:/bin:\n', b'daemon:x:2:2:daemon:/sbin:\n', b'adm:x:3:4:adm:/var/adm:\n', b'lp:x:4:7:lp:/var/spool/lpd:\n', b'sync:x:5:0:sync:/sbin:/bin/sync\n', b'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', b'halt:x:7:0:halt:/sbin:/sbin/halt\n', b'mail:x:8:12:mail:/var/spool/mail:\n', b'news:x:9:13:news:/var/spool/news:\n', b'uucp:x:10:14:uucp:/var/spool/uucp:\n', b'operator:x:11:0:operator:/root:\n', b'games:x:12:100:games:/usr/games:\n', b'gopher:x:13:30:gopher:/usr/lib/gopher-data:\n', b'ftp:x:14:50:FTP User:/var/ftp:/bin/bash\n', b'nobody:x:65534:65534:Nobody:/home:\n', b'postfix:x:100:101:postfix:/var/spool/postfix:\n', b'niemeyer:x:500:500::/home/niemeyer:/bin/bash\n', b'postgres:x:101:102:PostgreSQL Server:/var/lib/pgsql:/bin/bash\n', b'mysql:x:102:103:MySQL server:/var/lib/mysql:/bin/bash\n', b'www:x:103:104::/var/www:/bin/false\n']
decompress(data)[source]
setUp()[source]
tearDown()[source]
class test.test_bz2.CompressDecompressTest(methodName='runTest')[source]

Bases: test.test_bz2.BaseTest

testCompress()[source]
testCompressEmptyString()[source]
testDecompress()[source]
testDecompressBadData()[source]
testDecompressEmpty()[source]
testDecompressIncomplete()[source]
testDecompressMultiStream()[source]
testDecompressMultiStreamTrailingJunk()[source]
testDecompressToEmptyString()[source]
testDecompressTrailingJunk()[source]
class test.test_bz2.OpenTest(methodName='runTest')[source]

Bases: test.test_bz2.BaseTest

Test the open function.

open(*args, **kwargs)[source]
test_bad_params()[source]
test_binary_modes()[source]
test_encoding()[source]
test_encoding_error_handler()[source]
test_fileobj()[source]
test_implicit_binary_modes()[source]
test_newline()[source]
test_text_modes()[source]
test_x_mode()[source]
test.test_bz2.test_main()[source]

test.test_calendar module

class test.test_calendar.CalendarTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_days()[source]
test_enumerate_weekdays()[source]
test_illegal_weekday_reported()[source]
test_isleap()[source]
test_itermonthdates()[source]
test_locale_calendars()[source]
test_months()[source]
test_setfirstweekday()[source]
class test.test_calendar.ConsoleOutputTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_outputs_bytes()[source]
class test.test_calendar.LeapdaysTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_no_leapdays()[source]
test_no_leapdays_upper_boundary()[source]
test_no_range()[source]
test_one_leapday_lower_boundary()[source]
test_several_leapyears_in_range()[source]
class test.test_calendar.MondayTestCase(methodName='runTest')[source]

Bases: test.test_calendar.MonthCalendarTestCase

firstweekday = 0
test_april()[source]
test_december()[source]
test_february()[source]
class test.test_calendar.MonthCalendarTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_weeks(year, month, weeks)[source]
setUp()[source]
tearDown()[source]
class test.test_calendar.MonthRangeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_december()[source]
test_february_leap()[source]
test_february_nonleap()[source]
test_illegal_month_reported()[source]
test_january()[source]
test_thirteenth_month()[source]
test_zeroth_month()[source]
class test.test_calendar.OutputTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_htmlcalendar_encoding(req, res)[source]
normalize_calendar(s)[source]
test_format()[source]
test_formatmonth()[source]
test_formatmonthname_with_year()[source]
test_formatmonthname_without_year()[source]
test_formatweekheader_long()[source]
test_formatweekheader_short()[source]
test_output()[source]
test_output_htmlcalendar_encoding_ascii()[source]
test_output_htmlcalendar_encoding_default()[source]
test_output_htmlcalendar_encoding_utf8()[source]
test_output_textcalendar()[source]
test_prmonth()[source]
test_prweek()[source]
test_pryear()[source]
test_yeardatescalendar()[source]
test_yeardayscalendar()[source]
class test.test_calendar.SundayTestCase(methodName='runTest')[source]

Bases: test.test_calendar.MonthCalendarTestCase

firstweekday = 6
test_april()[source]
test_december()[source]
test_february()[source]
class test.test_calendar.TimegmTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

TIMESTAMPS = [0, 10, 100, 1000, 10000, 100000, 1000000, 1234567890, 1262304000, 1275785153]
test_timegm()[source]
test.test_calendar.test_main()[source]

test.test_call module

class test.test_call.CFunctionCalls(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_oldargs0_0()[source]
test_oldargs0_0_ext()[source]
test_oldargs0_0_kw()[source]
test_oldargs0_1()[source]
test_oldargs0_1_ext()[source]
test_oldargs0_1_kw()[source]
test_oldargs0_2()[source]
test_oldargs0_2_ext()[source]
test_oldargs0_2_kw()[source]
test_oldargs1_0()[source]
test_oldargs1_0_ext()[source]
test_oldargs1_0_kw()[source]
test_oldargs1_1()[source]
test_oldargs1_1_ext()[source]
test_oldargs1_1_kw()[source]
test_oldargs1_2()[source]
test_oldargs1_2_ext()[source]
test_oldargs1_2_kw()[source]
test_varargs0()[source]
test_varargs0_ext()[source]
test_varargs0_kw()[source]
test_varargs1()[source]
test_varargs1_ext()[source]
test_varargs1_kw()[source]
test_varargs2()[source]
test_varargs2_ext()[source]
test_varargs2_kw()[source]
test.test_call.test_main()[source]

test.test_capi module

class test.test_capi.CAPITest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_docstring_signature_parsing()[source]
test_exc_info()[source]
test_instancemethod()[source]
test_memoryview_from_NULL_pointer()[source]
test_no_FatalError_infinite_loop()[source]
test_seq_bytes_to_charp_array()[source]
test_subprocess_fork_exec()[source]
class test.test_capi.EmbeddingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

run_embedded_interpreter(*args)[source]

Runs a test in the embedded interpreter

setUp()[source]
tearDown()[source]
test_forced_io_encoding()[source]
test_subinterps()[source]
class test.test_capi.InstanceMethod[source]

Bases: object

id(object) → integer

Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects. (Hint: it’s the object’s memory address.)

testfunction()

some doc

class test.test_capi.SkipitemTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_parse_tuple_and_keywords()[source]
test_skipitem()[source]

If this test failed, you probably added a new “format unit” in Python/getargs.c, but neglected to update our poor friend skipitem() in the same file. (If so, shame on you!)

With a few exceptions**, this function brute-force tests all printable ASCII*** characters (32 to 126 inclusive) as format units, checking to see that PyArg_ParseTupleAndKeywords() return consistent errors both when the unit is attempted to be used and when it is skipped. If the format unit doesn’t exist, we’ll get one of two specific error messages (one for used, one for skipped); if it does exist we won’t get that error–we’ll get either no error or some other error. If we get the specific “does not exist” error for one test and not for the other, there’s a mismatch, and the test fails.

** Some format units have special funny semantics and it would
be difficult to accomodate them here. Since these are all well-established and properly skipped in skipitem() we can get away with not testing them–this test is really intended to catch new format units.
*** Python C source files must be ASCII. Therefore it’s impossible
to have non-ASCII format units.
class test.test_capi.SubinterpreterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_subinterps()[source]
class test.test_capi.Test6012(methodName='runTest')[source]

Bases: unittest.case.TestCase

test()[source]
class test.test_capi.TestPendingCalls(methodName='runTest')[source]

Bases: unittest.case.TestCase

pendingcalls_submit(l, n)[source]
pendingcalls_thread(context)[source]
pendingcalls_wait(l, n, context=None)[source]
test_pendingcalls_non_threaded()[source]
test_pendingcalls_threaded()[source]
class test.test_capi.TestThreadState(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_thread_state()[source]
class test.test_capi.Test_testcapi(methodName='runTest')[source]

Bases: unittest.case.TestCase

test__testcapi()[source]
test.test_capi.testfunction(self)[source]

some doc

test.test_cgi module

class test.test_cgi.CgiTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

testQSAndFormData()[source]
testQSAndFormDataFile()[source]
testQSAndUrlEncode()[source]
test_deprecated_parse_qs()[source]
test_deprecated_parse_qsl()[source]
test_escape()[source]
test_fieldstorage_invalid()[source]
test_fieldstorage_multipart()[source]
test_fieldstorage_multipart_maxline()[source]
test_fieldstorage_multipart_non_ascii()[source]
test_fieldstorage_multipart_w3c()[source]
test_fieldstorage_properties()[source]
test_fieldstorage_readline()[source]
test_log()[source]
test_parse_header()[source]
test_parse_multipart()[source]
test_strict()[source]
class test.test_cgi.ComparableException(err)[source]

Bases: object

class test.test_cgi.HackedSysModule[source]

Bases: object

argv = []
stdin = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp1252'>
test.test_cgi.do_test(buf, method)[source]
test.test_cgi.first_elts(list)[source]
test.test_cgi.first_second_elts(list)[source]
test.test_cgi.gen_result(data, environ)[source]
test.test_cgi.norm(seq)[source]
test.test_cgi.test_main()[source]

test.test_cgitb module

class test.test_cgitb.TestCgitb(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_blanks()[source]
test_fonts()[source]
test_html()[source]
test_syshook_no_logdir_default_format()[source]
test_syshook_no_logdir_text_format()[source]
test_text()[source]
test.test_cgitb.test_main()[source]

test.test_charmapcodec module

Python character mapping codec test

This uses the test codec in testcodec.py and thus also tests the encodings package lookup scheme.

Written by Marc-Andre Lemburg (mal@lemburg.com).

  1. Copyright 2000 Guido van Rossum.
class test.test_charmapcodec.CharmapCodecTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constructorx()[source]
test_constructory()[source]
test_encodex()[source]
test_maptoundefined()[source]
test.test_charmapcodec.codec_search_function(encoding)[source]
test.test_charmapcodec.test_main()[source]

test.test_class module

Test the functionality of Python classes implementing operators.

class test.test_class.AllTests(*args, **kwargs)

Bases: object

class test.test_class.ClassTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertCallStack(expected_calls)[source]
setUp()[source]
testBadTypeReturned()[source]
testBinaryOps()[source]
testDel()[source]
testForExceptionsRaisedInInstanceGetattr2()[source]
testGetSetAndDel()[source]
testHashComparisonOfMethods()[source]
testHashStuff()[source]
testInit()[source]
testListAndDictOps()[source]
testMisc()[source]
testSFBug532646()[source]
testUnaryOps()[source]
test.test_class.test_main()[source]
test.test_class.trackCall(f)[source]

test.test_cmath module

class test.test_cmath.CMathTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertCEqual(a, b)[source]
assertCISEqual(a, b)[source]
assertComplexIdentical(x, y)[source]

Fail unless complex numbers x and y have equal values and signs.

In particular, if x and y both have real (or imaginary) part zero, but the zeros have different signs, this test will fail.

assertFloatIdentical(x, y)[source]

Fail unless floats x and y are identical, in the sense that: (1) both x and y are nans, or (2) both x and y are infinities, with the same sign, or (3) both x and y are zeros, with the same sign, or (4) x and y are both finite and nonzero, and x == y

rAssertAlmostEqual(a, b, rel_err=2e-15, abs_err=5e-323, msg=None)[source]

Fail if the two floating-point numbers are not almost equal.

Determine whether floating-point values a and b are equal to within a (small) rounding error. The default values for rel_err and abs_err are chosen to be suitable for platforms where a float is represented by an IEEE 754 double. They allow an error of between 9 and 19 ulps.

setUp()[source]
tearDown()[source]
testAtanSign()[source]
testAtanhSign()[source]
testTanhSign()[source]
test_abs()[source]
test_abs_overflows()[source]
test_cmath_matches_math()[source]
test_constants()[source]
test_functions = [<built-in function acos>, <built-in function acosh>, <built-in function asin>, <built-in function asinh>, <built-in function atan>, <built-in function atanh>, <built-in function cos>, <built-in function cosh>, <built-in function exp>, <built-in function log>, <built-in function log10>, <built-in function sin>, <built-in function sinh>, <built-in function sqrt>, <built-in function tan>, <built-in function tanh>, <function CMathTests.<lambda> at 0x1B0284B0>, <function CMathTests.<lambda> at 0x1B034618>]
test_input_type()[source]
test_isfinite()[source]
test_isinf()[source]
test_isnan()[source]
test_phase()[source]
test_polar()[source]
test_rect()[source]
test_specific_values()[source]
test_user_object()[source]
test.test_cmath.test_main()[source]

test.test_cmd module

Test script for the ‘cmd’ module Original by Michael Schneider

class test.test_cmd.TestAlternateInput(methodName='runTest')[source]

Bases: unittest.case.TestCase

class simplecmd(completekey='tab', stdin=None, stdout=None)[source]

Bases: cmd.Cmd

do_EOF(args)[source]
do_print(args)[source]
class TestAlternateInput.simplecmd2(completekey='tab', stdin=None, stdout=None)[source]

Bases: test.test_cmd.simplecmd

do_EOF(args)[source]
TestAlternateInput.test_file_with_missing_final_nl()[source]
TestAlternateInput.test_input_reset_at_EOF()[source]
class test.test_cmd.samplecmdclass(completekey='tab', stdin=None, stdout=None)[source]

Bases: cmd.Cmd

Instance the sampleclass: >>> mycmd = samplecmdclass()

Test for the function parseline(): >>> mycmd.parseline(“”) (None, None, ‘’) >>> mycmd.parseline(”?”) (‘help’, ‘’, ‘help ‘) >>> mycmd.parseline(”?help”) (‘help’, ‘help’, ‘help help’) >>> mycmd.parseline(”!”) (‘shell’, ‘’, ‘shell ‘) >>> mycmd.parseline(”!command”) (‘shell’, ‘command’, ‘shell command’) >>> mycmd.parseline(“func”) (‘func’, ‘’, ‘func’) >>> mycmd.parseline(“func arg1”) (‘func’, ‘arg1’, ‘func arg1’)

Test for the function onecmd(): >>> mycmd.onecmd(“”) >>> mycmd.onecmd(“add 4 5”) 9 >>> mycmd.onecmd(“”) 9 >>> mycmd.onecmd(“test”) *** Unknown syntax: test

Test for the function emptyline(): >>> mycmd.emptyline() *** Unknown syntax: test

Test for the function default(): >>> mycmd.default(“default”) *** Unknown syntax: default

Test for the function completedefault(): >>> mycmd.completedefault() This is the completedefault methode >>> mycmd.completenames(“a”) [‘add’]

Test for the function completenames(): >>> mycmd.completenames(“12”) [] >>> mycmd.completenames(“help”) [‘help’]

Test for the function complete_help(): >>> mycmd.complete_help(“a”) [‘add’] >>> mycmd.complete_help(“he”) [‘help’] >>> mycmd.complete_help(“12”) [] >>> sorted(mycmd.complete_help(“”)) [‘add’, ‘exit’, ‘help’, ‘shell’]

Test for the function do_help(): >>> mycmd.do_help(“testet”) *** No help on testet >>> mycmd.do_help(“add”) help text for add >>> mycmd.onecmd(“help add”) help text for add >>> mycmd.do_help(“”) <BLANKLINE> Documented commands (type help <topic>): ======================================== add help <BLANKLINE> Undocumented commands: ====================== exit shell <BLANKLINE>

Test for the function print_topics(): >>> mycmd.print_topics(“header”, [“command1”, “command2”], 2 ,10) header ====== command1 command2 <BLANKLINE>

Test for the function columnize(): >>> mycmd.columnize([str(i) for i in range(20)]) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >>> mycmd.columnize([str(i) for i in range(20)], 10) 0 7 14 1 8 15 2 9 16 3 10 17 4 11 18 5 12 19 6 13

This is a interactive test, put some commands in the cmdqueue attribute and let it execute This test includes the preloop(), postloop(), default(), emptyline(), parseline(), do_help() functions >>> mycmd.use_rawinput=0 >>> mycmd.cmdqueue=[“”, “add”, “add 4 5”, “help”, “help add”,”exit”] >>> mycmd.cmdloop() Hello from preloop help text for add *** invalid number of arguments 9 <BLANKLINE> Documented commands (type help <topic>): ======================================== add help <BLANKLINE> Undocumented commands: ====================== exit shell <BLANKLINE> help text for add Hello from postloop

complete_command()[source]
completedefault(*ignored)[source]
do_add(s)[source]
do_exit(arg)[source]
do_shell(s)[source]
help_add()[source]
postloop()[source]
preloop()[source]
test.test_cmd.test_coverage(coverdir)[source]
test.test_cmd.test_main(verbose=None)[source]

test.test_cmd_line module

class test.test_cmd_line.CmdLineTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_input(code, expected)[source]
test_builtin_input()[source]
test_closed_stdout()[source]
test_del___main__()[source]
test_directories()[source]
test_displayhook_unencodable()[source]
test_empty_PYTHONPATH_issue16309()[source]
test_hash_randomization()[source]
test_isolatedmode()[source]
test_large_PYTHONPATH()[source]
test_no_std_streams()[source]
test_no_stderr()[source]
test_no_stdin()[source]
test_no_stdout()[source]
test_non_ascii()[source]
test_optimize()[source]
test_osx_utf8()[source]
test_output_newline()[source]
test_run_code()[source]
test_run_module()[source]
test_run_module_bug1764407()[source]
test_showrefcount()[source]
test_site_flag()[source]
test_stdin_readline()[source]
test_stdout_flush_at_shutdown()[source]
test_unbuffered_input()[source]
test_unbuffered_output()[source]
test_undecodable_code()[source]
test_unknown_options()[source]
test_unmached_quote()[source]
test_usage()[source]
test_verbose()[source]
test_version()[source]
test_xoptions()[source]
verify_valid_flag(cmd_line)[source]
test.test_cmd_line.test_main()[source]

test.test_cmd_line_script module

class test.test_cmd_line_script.CmdLineTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_repl_stderr_flush(separate_stderr=False)[source]
check_repl_stdout_flush(separate_stderr=False)[source]
interactive_python(separate_stderr=False)[source]
test_basic_script()[source]
test_dash_c_loader()[source]
test_dash_m_error_code_is_one()[source]
test_directory()[source]
test_directory_compiled()[source]
test_directory_error()[source]
test_issue20500_exit_with_exception_value()[source]
test_issue8202()[source]
test_issue8202_dash_c_file_ignored()[source]
test_issue8202_dash_m_file_ignored()[source]
test_module_in_package()[source]
test_module_in_package_in_zipfile()[source]
test_module_in_subpackage_in_zipfile()[source]
test_non_ascii()[source]
test_package()[source]
test_package_compiled()[source]
test_package_error()[source]
test_package_recursion()[source]
test_pep_409_verbiage()[source]
test_repl_stderr_flush()[source]
test_repl_stderr_flush_separate_stderr()[source]
test_repl_stdout_flush()[source]
test_repl_stdout_flush_separate_stderr()[source]
test_script_compiled()[source]
test_stdin_loader()[source]
test_zipfile()[source]
test_zipfile_compiled()[source]
test_zipfile_error()[source]
test.test_cmd_line_script.test_main()[source]

test.test_code module

This module includes tests of the code object representation.

>>> def f(x):
...     def g(y):
...         return x + y
...     return g
...
>>> dump(f.__code__)
name: f
argcount: 1
kwonlyargcount: 0
names: ()
varnames: ('x', 'g')
cellvars: ('x',)
freevars: ()
nlocals: 2
flags: 3
consts: ('None', '<code object g>', "'f.<locals>.g'")
>>> dump(f(4).__code__)
name: g
argcount: 1
kwonlyargcount: 0
names: ()
varnames: ('y',)
cellvars: ()
freevars: ('x',)
nlocals: 1
flags: 19
consts: ('None',)
>>> def h(x, y):
...     a = x + y
...     b = x - y
...     c = a * b
...     return c
...
>>> dump(h.__code__)
name: h
argcount: 2
kwonlyargcount: 0
names: ()
varnames: ('x', 'y', 'a', 'b', 'c')
cellvars: ()
freevars: ()
nlocals: 5
flags: 67
consts: ('None',)
>>> def attrs(obj):
...     print(obj.attr1)
...     print(obj.attr2)
...     print(obj.attr3)
>>> dump(attrs.__code__)
name: attrs
argcount: 1
kwonlyargcount: 0
names: ('print', 'attr1', 'attr2', 'attr3')
varnames: ('obj',)
cellvars: ()
freevars: ()
nlocals: 1
flags: 67
consts: ('None',)
>>> def optimize_away():
...     'doc string'
...     'not a docstring'
...     53
...     0x53
>>> dump(optimize_away.__code__)
name: optimize_away
argcount: 0
kwonlyargcount: 0
names: ()
varnames: ()
cellvars: ()
freevars: ()
nlocals: 0
flags: 67
consts: ("'doc string'", 'None')
>>> def keywordonly_args(a,b,*,k1):
...     return a,b,k1
...
>>> dump(keywordonly_args.__code__)
name: keywordonly_args
argcount: 2
kwonlyargcount: 1
names: ()
varnames: ('a', 'b', 'k1')
cellvars: ()
freevars: ()
nlocals: 3
flags: 67
consts: ('None',)
class test.test_code.CodeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_newempty()[source]
class test.test_code.CodeWeakRefTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test.test_code.consts(t)[source]

Yield a doctest-safe sequence of object reprs.

test.test_code.dump(co)[source]

Print out a text representation of a code object.

test.test_code.test_main(verbose=None)[source]

test.test_code_module module

Test InteractiveConsole and InteractiveInterpreter from code module

class test.test_code_module.TestInteractiveConsole(methodName='runTest')[source]

Bases: unittest.case.TestCase

mock_sys()[source]

Mock system environment for InteractiveConsole

setUp()[source]
test_banner()[source]
test_console_stderr()[source]
test_ps1()[source]
test_ps2()[source]
test_syntax_error()[source]
test_sysexcepthook()[source]
test.test_code_module.test_main()[source]

test.test_codeccallbacks module

exception test.test_codeccallbacks.BadObjectUnicodeDecodeError[source]

Bases: UnicodeDecodeError

exception test.test_codeccallbacks.BadObjectUnicodeEncodeError[source]

Bases: UnicodeEncodeError

exception test.test_codeccallbacks.BadStartUnicodeEncodeError[source]

Bases: UnicodeEncodeError

class test.test_codeccallbacks.CodecCallbackTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_exceptionobjectargs(exctype, args, msg)[source]
test_backslashescape()[source]
test_badandgoodbackslashreplaceexceptions()[source]
test_badandgoodignoreexceptions()[source]
test_badandgoodreplaceexceptions()[source]
test_badandgoodstrictexceptions()[source]
test_badandgoodxmlcharrefreplaceexceptions()[source]
test_badhandlerresults()[source]
test_badlookupcall()[source]
test_badregistercall()[source]
test_bug828737()[source]
test_callbacks()[source]
test_charmapencode()[source]
test_decodehelper()[source]
test_decodeunicodeinternal()[source]
test_decoding_callbacks()[source]
test_encodehelper()[source]
test_longstrings()[source]
test_lookup()[source]
test_mutatingdecodehandler()[source]
test_translatehelper()[source]
test_unencodablereplacement()[source]
test_unicodedecodeerror()[source]
test_unicodeencodeerror()[source]
test_unicodetranslateerror()[source]
test_uninamereplace()[source]
test_unknownhandler()[source]
test_xmlcharnamereplace()[source]
test_xmlcharrefreplace()[source]
test_xmlcharrefvalues()[source]
exception test.test_codeccallbacks.NoEndUnicodeDecodeError[source]

Bases: UnicodeDecodeError

exception test.test_codeccallbacks.NoEndUnicodeTranslateError[source]

Bases: UnicodeTranslateError

exception test.test_codeccallbacks.NoObjectUnicodeTranslateError[source]

Bases: UnicodeTranslateError

exception test.test_codeccallbacks.NoStartUnicodeTranslateError[source]

Bases: UnicodeTranslateError

class test.test_codeccallbacks.PosReturn[source]

Bases: object

handle(exc)[source]

test.test_codecencodings_cn module

class test.test_codecencodings_cn.Test_GB18030(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��聊'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��聊�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc聊'), (b'abc\x849\x849\xc1\xc4', 'replace', 'abc�9�9聊'), ('・', 'strict', b'\x819\xa79'), (b'abc\x842\x80\x80def', 'replace', 'abc�2��def'), (b'abc\x810\x810def', 'strict', 'abc\x80def'), (b'abc\x860\x810def', 'replace', 'abc�0�0def'))
encoding = 'gb18030'
has_iso10646 = True
tstring = (b'Python\xa3\xa8\xc5\xc9\xc9\xad\xa3\xa9\xd3\xef\xd1\xd4\xca\xc7\xd2\xbb\xd6\xd6\xb9\xa6\xc4\xdc\xc7\xbf\xb4\xf3\xb6\xf8\xcd\xea\xc9\xc6\xb5\xc4\xcd\xa8\xd3\xc3\xd0\xcd\xbc\xc6\xcb\xe3\xbb\xfa\xb3\xcc\xd0\xf2\xc9\xe8\xbc\xc6\xd3\xef\xd1\xd4\xa3\xac\n\xd2\xd1\xbe\xad\xbe\xdf\xd3\xd0\xca\xae\xb6\xe0\xc4\xea\xb5\xc4\xb7\xa2\xd5\xb9\xc0\xfa\xca\xb7\xa3\xac\xb3\xc9\xca\xec\xc7\xd2\xce\xc8\xb6\xa8\xa1\xa3\xd5\xe2\xd6\xd6\xd3\xef\xd1\xd4\xbe\xdf\xd3\xd0\xb7\xc7\xb3\xa3\xbc\xf2\xbd\xdd\xb6\xf8\xc7\xe5\xce\xfa\n\xb5\xc4\xd3\xef\xb7\xa8\xcc\xd8\xb5\xe3\xa3\xac\xca\xca\xba\xcf\xcd\xea\xb3\xc9\xb8\xf7\xd6\xd6\xb8\xdf\xb2\xe3\xc8\xce\xce\xf1\xa3\xac\xbc\xb8\xba\xf5\xbf\xc9\xd2\xd4\xd4\xda\xcb\xf9\xd3\xd0\xb5\xc4\xb2\xd9\xd7\xf7\xcf\xb5\xcd\xb3\xd6\xd0\n\xd4\xcb\xd0\xd0\xa1\xa3\xd5\xe2\xd6\xd6\xd3\xef\xd1\xd4\xbc\xf2\xb5\xa5\xb6\xf8\xc7\xbf\xb4\xf3\xa3\xac\xca\xca\xba\xcf\xb8\xf7\xd6\xd6\xc8\xcb\xca\xbf\xd1\xa7\xcf\xb0\xca\xb9\xd3\xc3\xa1\xa3\xc4\xbf\xc7\xb0\xa3\xac\xbb\xf9\xd3\xda\xd5\xe2\n\xd6\xd6\xd3\xef\xd1\xd4\xb5\xc4\xcf\xe0\xb9\xd8\xbc\xbc\xca\xf5\xd5\xfd\xd4\xda\xb7\xc9\xcb\xd9\xb5\xc4\xb7\xa2\xd5\xb9\xa3\xac\xd3\xc3\xbb\xa7\xca\xfd\xc1\xbf\xbc\xb1\xbe\xe7\xc0\xa9\xb4\xf3\xa3\xac\xcf\xe0\xb9\xd8\xb5\xc4\xd7\xca\xd4\xb4\xb7\xc7\xb3\xa3\xb6\xe0\xa1\xa3\n\xc8\xe7\xba\xce\xd4\xda Python \xd6\xd0\xca\xb9\xd3\xc3\xbc\xc8\xd3\xd0\xb5\xc4 C library?\n\xa1\xa1\xd4\xda\xd9Y\xd3\x8d\xbf\xc6\xbc\xbc\xbf\xec\xcb\xd9\xb0l\xd5\xb9\xb5\xc4\xbd\xf1\xcc\xec, \xe9_\xb0l\xbc\xb0\x9cy\xd4\x87\xdc\x9b\xf3w\xb5\xc4\xcb\xd9\xb6\xc8\xca\xc7\xb2\xbb\xc8\xdd\xba\xf6\xd2\x95\xb5\xc4\n\xd5n\xee}. \x9e\xe9\xbc\xd3\xbf\xec\xe9_\xb0l\xbc\xb0\x9cy\xd4\x87\xb5\xc4\xcb\xd9\xb6\xc8, \xce\xd2\x82\x83\xb1\xe3\xb3\xa3\xcf\xa3\xcd\xfb\xc4\xdc\xc0\xfb\xd3\xc3\xd2\xbb\xd0\xa9\xd2\xd1\xe9_\xb0l\xba\xc3\xb5\xc4\nlibrary, \x81K\xd3\xd0\xd2\xbb\x82\x80 fast prototyping \xb5\xc4 programming language \xbf\xc9\n\xb9\xa9\xca\xb9\xd3\xc3. \xc4\xbf\xc7\xb0\xd3\xd0\xd4S\xd4S\xb6\xe0\xb6\xe0\xb5\xc4 library \xca\xc7\xd2\xd4 C \x8c\x91\xb3\xc9, \xb6\xf8 Python \xca\xc7\xd2\xbb\x82\x80\nfast prototyping \xb5\xc4 programming language. \xb9\xca\xce\xd2\x82\x83\xcf\xa3\xcd\xfb\xc4\xdc\x8c\xa2\xbc\xc8\xd3\xd0\xb5\xc4\nC library \xc4\xc3\xb5\xbd Python \xb5\xc4\xadh\xbe\xb3\xd6\xd0\x9cy\xd4\x87\xbc\xb0\xd5\xfb\xba\xcf. \xc6\xe4\xd6\xd0\xd7\xee\xd6\xf7\xd2\xaa\xd2\xb2\xca\xc7\xce\xd2\x82\x83\xcb\xf9\n\xd2\xaa\xd3\x91\xd5\x93\xb5\xc4\x86\x96\xee}\xbe\xcd\xca\xc7:\n\x835\xc71\x833\x9a3\x832\xb11\x833\x951 \x827\xd16\x830\x8c4\x836\x843 \x828\x895\x828\xfb6\x833\x955 \x833\xd51\x829\x815 \x830\xfd9\x833\x860 \x834\xdc3\x835\xf67\x835\x975 \x835\xf95\x830\x919\x828\x839\x829\xfc3\x830\xf04 \x832\xeb9\x832\xeb5\x829\x839.\n\n', b'Python\xef\xbc\x88\xe6\xb4\xbe\xe6\xa3\xae\xef\xbc\x89\xe8\xaf\xad\xe8\xa8\x80\xe6\x98\xaf\xe4\xb8\x80\xe7\xa7\x8d\xe5\x8a\x9f\xe8\x83\xbd\xe5\xbc\xba\xe5\xa4\xa7\xe8\x80\x8c\xe5\xae\x8c\xe5\x96\x84\xe7\x9a\x84\xe9\x80\x9a\xe7\x94\xa8\xe5\x9e\x8b\xe8\xae\xa1\xe7\xae\x97\xe6\x9c\xba\xe7\xa8\x8b\xe5\xba\x8f\xe8\xae\xbe\xe8\xae\xa1\xe8\xaf\xad\xe8\xa8\x80\xef\xbc\x8c\n\xe5\xb7\xb2\xe7\xbb\x8f\xe5\x85\xb7\xe6\x9c\x89\xe5\x8d\x81\xe5\xa4\x9a\xe5\xb9\xb4\xe7\x9a\x84\xe5\x8f\x91\xe5\xb1\x95\xe5\x8e\x86\xe5\x8f\xb2\xef\xbc\x8c\xe6\x88\x90\xe7\x86\x9f\xe4\xb8\x94\xe7\xa8\xb3\xe5\xae\x9a\xe3\x80\x82\xe8\xbf\x99\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe5\x85\xb7\xe6\x9c\x89\xe9\x9d\x9e\xe5\xb8\xb8\xe7\xae\x80\xe6\x8d\xb7\xe8\x80\x8c\xe6\xb8\x85\xe6\x99\xb0\n\xe7\x9a\x84\xe8\xaf\xad\xe6\xb3\x95\xe7\x89\xb9\xe7\x82\xb9\xef\xbc\x8c\xe9\x80\x82\xe5\x90\x88\xe5\xae\x8c\xe6\x88\x90\xe5\x90\x84\xe7\xa7\x8d\xe9\xab\x98\xe5\xb1\x82\xe4\xbb\xbb\xe5\x8a\xa1\xef\xbc\x8c\xe5\x87\xa0\xe4\xb9\x8e\xe5\x8f\xaf\xe4\xbb\xa5\xe5\x9c\xa8\xe6\x89\x80\xe6\x9c\x89\xe7\x9a\x84\xe6\x93\x8d\xe4\xbd\x9c\xe7\xb3\xbb\xe7\xbb\x9f\xe4\xb8\xad\n\xe8\xbf\x90\xe8\xa1\x8c\xe3\x80\x82\xe8\xbf\x99\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe7\xae\x80\xe5\x8d\x95\xe8\x80\x8c\xe5\xbc\xba\xe5\xa4\xa7\xef\xbc\x8c\xe9\x80\x82\xe5\x90\x88\xe5\x90\x84\xe7\xa7\x8d\xe4\xba\xba\xe5\xa3\xab\xe5\xad\xa6\xe4\xb9\xa0\xe4\xbd\xbf\xe7\x94\xa8\xe3\x80\x82\xe7\x9b\xae\xe5\x89\x8d\xef\xbc\x8c\xe5\x9f\xba\xe4\xba\x8e\xe8\xbf\x99\n\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe7\x9a\x84\xe7\x9b\xb8\xe5\x85\xb3\xe6\x8a\x80\xe6\x9c\xaf\xe6\xad\xa3\xe5\x9c\xa8\xe9\xa3\x9e\xe9\x80\x9f\xe7\x9a\x84\xe5\x8f\x91\xe5\xb1\x95\xef\xbc\x8c\xe7\x94\xa8\xe6\x88\xb7\xe6\x95\xb0\xe9\x87\x8f\xe6\x80\xa5\xe5\x89\xa7\xe6\x89\xa9\xe5\xa4\xa7\xef\xbc\x8c\xe7\x9b\xb8\xe5\x85\xb3\xe7\x9a\x84\xe8\xb5\x84\xe6\xba\x90\xe9\x9d\x9e\xe5\xb8\xb8\xe5\xa4\x9a\xe3\x80\x82\n\xe5\xa6\x82\xe4\xbd\x95\xe5\x9c\xa8 Python \xe4\xb8\xad\xe4\xbd\xbf\xe7\x94\xa8\xe6\x97\xa2\xe6\x9c\x89\xe7\x9a\x84 C library?\n\xe3\x80\x80\xe5\x9c\xa8\xe8\xb3\x87\xe8\xa8\x8a\xe7\xa7\x91\xe6\x8a\x80\xe5\xbf\xab\xe9\x80\x9f\xe7\x99\xbc\xe5\xb1\x95\xe7\x9a\x84\xe4\xbb\x8a\xe5\xa4\xa9, \xe9\x96\x8b\xe7\x99\xbc\xe5\x8f\x8a\xe6\xb8\xac\xe8\xa9\xa6\xe8\xbb\x9f\xe9\xab\x94\xe7\x9a\x84\xe9\x80\x9f\xe5\xba\xa6\xe6\x98\xaf\xe4\xb8\x8d\xe5\xae\xb9\xe5\xbf\xbd\xe8\xa6\x96\xe7\x9a\x84\n\xe8\xaa\xb2\xe9\xa1\x8c. \xe7\x82\xba\xe5\x8a\xa0\xe5\xbf\xab\xe9\x96\x8b\xe7\x99\xbc\xe5\x8f\x8a\xe6\xb8\xac\xe8\xa9\xa6\xe7\x9a\x84\xe9\x80\x9f\xe5\xba\xa6, \xe6\x88\x91\xe5\x80\x91\xe4\xbe\xbf\xe5\xb8\xb8\xe5\xb8\x8c\xe6\x9c\x9b\xe8\x83\xbd\xe5\x88\xa9\xe7\x94\xa8\xe4\xb8\x80\xe4\xba\x9b\xe5\xb7\xb2\xe9\x96\x8b\xe7\x99\xbc\xe5\xa5\xbd\xe7\x9a\x84\nlibrary, \xe4\xb8\xa6\xe6\x9c\x89\xe4\xb8\x80\xe5\x80\x8b fast prototyping \xe7\x9a\x84 programming language \xe5\x8f\xaf\n\xe4\xbe\x9b\xe4\xbd\xbf\xe7\x94\xa8. \xe7\x9b\xae\xe5\x89\x8d\xe6\x9c\x89\xe8\xa8\xb1\xe8\xa8\xb1\xe5\xa4\x9a\xe5\xa4\x9a\xe7\x9a\x84 library \xe6\x98\xaf\xe4\xbb\xa5 C \xe5\xaf\xab\xe6\x88\x90, \xe8\x80\x8c Python \xe6\x98\xaf\xe4\xb8\x80\xe5\x80\x8b\nfast prototyping \xe7\x9a\x84 programming language. \xe6\x95\x85\xe6\x88\x91\xe5\x80\x91\xe5\xb8\x8c\xe6\x9c\x9b\xe8\x83\xbd\xe5\xb0\x87\xe6\x97\xa2\xe6\x9c\x89\xe7\x9a\x84\nC library \xe6\x8b\xbf\xe5\x88\xb0 Python \xe7\x9a\x84\xe7\x92\xb0\xe5\xa2\x83\xe4\xb8\xad\xe6\xb8\xac\xe8\xa9\xa6\xe5\x8f\x8a\xe6\x95\xb4\xe5\x90\x88. \xe5\x85\xb6\xe4\xb8\xad\xe6\x9c\x80\xe4\xb8\xbb\xe8\xa6\x81\xe4\xb9\x9f\xe6\x98\xaf\xe6\x88\x91\xe5\x80\x91\xe6\x89\x80\n\xe8\xa6\x81\xe8\xa8\x8e\xe8\xab\x96\xe7\x9a\x84\xe5\x95\x8f\xe9\xa1\x8c\xe5\xb0\xb1\xe6\x98\xaf:\n\xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x80 \xea\xb0\x95\xeb\xa0\xa5\xed\x95\x9c \xea\xb8\xb0\xeb\x8a\xa5\xec\x9d\x84 \xec\xa7\x80\xeb\x8b\x8c \xeb\xb2\x94\xec\x9a\xa9 \xec\xbb\xb4\xed\x93\xa8\xed\x84\xb0 \xed\x94\x84\xeb\xa1\x9c\xea\xb7\xb8\xeb\x9e\x98\xeb\xb0\x8d \xec\x96\xb8\xec\x96\xb4\xeb\x8b\xa4.\n\n')
class test.test_codecencodings_cn.Test_GB2312(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x81\x81\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x81\x81\xc1\xc4', 'replace', 'abc��聊'), (b'abc\x81\x81\xc1\xc4\xc8', 'replace', 'abc��聊�'), (b'abc\x81\x81\xc1\xc4', 'ignore', 'abc聊'), (b'\xc1d', 'strict', None))
encoding = 'gb2312'
tstring = (b'Python\xa3\xa8\xc5\xc9\xc9\xad\xa3\xa9\xd3\xef\xd1\xd4\xca\xc7\xd2\xbb\xd6\xd6\xb9\xa6\xc4\xdc\xc7\xbf\xb4\xf3\xb6\xf8\xcd\xea\xc9\xc6\xb5\xc4\xcd\xa8\xd3\xc3\xd0\xcd\xbc\xc6\xcb\xe3\xbb\xfa\xb3\xcc\xd0\xf2\xc9\xe8\xbc\xc6\xd3\xef\xd1\xd4\xa3\xac\n\xd2\xd1\xbe\xad\xbe\xdf\xd3\xd0\xca\xae\xb6\xe0\xc4\xea\xb5\xc4\xb7\xa2\xd5\xb9\xc0\xfa\xca\xb7\xa3\xac\xb3\xc9\xca\xec\xc7\xd2\xce\xc8\xb6\xa8\xa1\xa3\xd5\xe2\xd6\xd6\xd3\xef\xd1\xd4\xbe\xdf\xd3\xd0\xb7\xc7\xb3\xa3\xbc\xf2\xbd\xdd\xb6\xf8\xc7\xe5\xce\xfa\n\xb5\xc4\xd3\xef\xb7\xa8\xcc\xd8\xb5\xe3\xa3\xac\xca\xca\xba\xcf\xcd\xea\xb3\xc9\xb8\xf7\xd6\xd6\xb8\xdf\xb2\xe3\xc8\xce\xce\xf1\xa3\xac\xbc\xb8\xba\xf5\xbf\xc9\xd2\xd4\xd4\xda\xcb\xf9\xd3\xd0\xb5\xc4\xb2\xd9\xd7\xf7\xcf\xb5\xcd\xb3\xd6\xd0\n\xd4\xcb\xd0\xd0\xa1\xa3\xd5\xe2\xd6\xd6\xd3\xef\xd1\xd4\xbc\xf2\xb5\xa5\xb6\xf8\xc7\xbf\xb4\xf3\xa3\xac\xca\xca\xba\xcf\xb8\xf7\xd6\xd6\xc8\xcb\xca\xbf\xd1\xa7\xcf\xb0\xca\xb9\xd3\xc3\xa1\xa3\xc4\xbf\xc7\xb0\xa3\xac\xbb\xf9\xd3\xda\xd5\xe2\n\xd6\xd6\xd3\xef\xd1\xd4\xb5\xc4\xcf\xe0\xb9\xd8\xbc\xbc\xca\xf5\xd5\xfd\xd4\xda\xb7\xc9\xcb\xd9\xb5\xc4\xb7\xa2\xd5\xb9\xa3\xac\xd3\xc3\xbb\xa7\xca\xfd\xc1\xbf\xbc\xb1\xbe\xe7\xc0\xa9\xb4\xf3\xa3\xac\xcf\xe0\xb9\xd8\xb5\xc4\xd7\xca\xd4\xb4\xb7\xc7\xb3\xa3\xb6\xe0\xa1\xa3\n\n', b'Python\xef\xbc\x88\xe6\xb4\xbe\xe6\xa3\xae\xef\xbc\x89\xe8\xaf\xad\xe8\xa8\x80\xe6\x98\xaf\xe4\xb8\x80\xe7\xa7\x8d\xe5\x8a\x9f\xe8\x83\xbd\xe5\xbc\xba\xe5\xa4\xa7\xe8\x80\x8c\xe5\xae\x8c\xe5\x96\x84\xe7\x9a\x84\xe9\x80\x9a\xe7\x94\xa8\xe5\x9e\x8b\xe8\xae\xa1\xe7\xae\x97\xe6\x9c\xba\xe7\xa8\x8b\xe5\xba\x8f\xe8\xae\xbe\xe8\xae\xa1\xe8\xaf\xad\xe8\xa8\x80\xef\xbc\x8c\n\xe5\xb7\xb2\xe7\xbb\x8f\xe5\x85\xb7\xe6\x9c\x89\xe5\x8d\x81\xe5\xa4\x9a\xe5\xb9\xb4\xe7\x9a\x84\xe5\x8f\x91\xe5\xb1\x95\xe5\x8e\x86\xe5\x8f\xb2\xef\xbc\x8c\xe6\x88\x90\xe7\x86\x9f\xe4\xb8\x94\xe7\xa8\xb3\xe5\xae\x9a\xe3\x80\x82\xe8\xbf\x99\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe5\x85\xb7\xe6\x9c\x89\xe9\x9d\x9e\xe5\xb8\xb8\xe7\xae\x80\xe6\x8d\xb7\xe8\x80\x8c\xe6\xb8\x85\xe6\x99\xb0\n\xe7\x9a\x84\xe8\xaf\xad\xe6\xb3\x95\xe7\x89\xb9\xe7\x82\xb9\xef\xbc\x8c\xe9\x80\x82\xe5\x90\x88\xe5\xae\x8c\xe6\x88\x90\xe5\x90\x84\xe7\xa7\x8d\xe9\xab\x98\xe5\xb1\x82\xe4\xbb\xbb\xe5\x8a\xa1\xef\xbc\x8c\xe5\x87\xa0\xe4\xb9\x8e\xe5\x8f\xaf\xe4\xbb\xa5\xe5\x9c\xa8\xe6\x89\x80\xe6\x9c\x89\xe7\x9a\x84\xe6\x93\x8d\xe4\xbd\x9c\xe7\xb3\xbb\xe7\xbb\x9f\xe4\xb8\xad\n\xe8\xbf\x90\xe8\xa1\x8c\xe3\x80\x82\xe8\xbf\x99\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe7\xae\x80\xe5\x8d\x95\xe8\x80\x8c\xe5\xbc\xba\xe5\xa4\xa7\xef\xbc\x8c\xe9\x80\x82\xe5\x90\x88\xe5\x90\x84\xe7\xa7\x8d\xe4\xba\xba\xe5\xa3\xab\xe5\xad\xa6\xe4\xb9\xa0\xe4\xbd\xbf\xe7\x94\xa8\xe3\x80\x82\xe7\x9b\xae\xe5\x89\x8d\xef\xbc\x8c\xe5\x9f\xba\xe4\xba\x8e\xe8\xbf\x99\n\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe7\x9a\x84\xe7\x9b\xb8\xe5\x85\xb3\xe6\x8a\x80\xe6\x9c\xaf\xe6\xad\xa3\xe5\x9c\xa8\xe9\xa3\x9e\xe9\x80\x9f\xe7\x9a\x84\xe5\x8f\x91\xe5\xb1\x95\xef\xbc\x8c\xe7\x94\xa8\xe6\x88\xb7\xe6\x95\xb0\xe9\x87\x8f\xe6\x80\xa5\xe5\x89\xa7\xe6\x89\xa9\xe5\xa4\xa7\xef\xbc\x8c\xe7\x9b\xb8\xe5\x85\xb3\xe7\x9a\x84\xe8\xb5\x84\xe6\xba\x90\xe9\x9d\x9e\xe5\xb8\xb8\xe5\xa4\x9a\xe3\x80\x82\n\n')
class test.test_codecencodings_cn.Test_GBK(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��聊'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��聊�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc聊'), (b'\x834\x831', 'strict', None), ('・', 'strict', None))
encoding = 'gbk'
tstring = (b'Python\xa3\xa8\xc5\xc9\xc9\xad\xa3\xa9\xd3\xef\xd1\xd4\xca\xc7\xd2\xbb\xd6\xd6\xb9\xa6\xc4\xdc\xc7\xbf\xb4\xf3\xb6\xf8\xcd\xea\xc9\xc6\xb5\xc4\xcd\xa8\xd3\xc3\xd0\xcd\xbc\xc6\xcb\xe3\xbb\xfa\xb3\xcc\xd0\xf2\xc9\xe8\xbc\xc6\xd3\xef\xd1\xd4\xa3\xac\n\xd2\xd1\xbe\xad\xbe\xdf\xd3\xd0\xca\xae\xb6\xe0\xc4\xea\xb5\xc4\xb7\xa2\xd5\xb9\xc0\xfa\xca\xb7\xa3\xac\xb3\xc9\xca\xec\xc7\xd2\xce\xc8\xb6\xa8\xa1\xa3\xd5\xe2\xd6\xd6\xd3\xef\xd1\xd4\xbe\xdf\xd3\xd0\xb7\xc7\xb3\xa3\xbc\xf2\xbd\xdd\xb6\xf8\xc7\xe5\xce\xfa\n\xb5\xc4\xd3\xef\xb7\xa8\xcc\xd8\xb5\xe3\xa3\xac\xca\xca\xba\xcf\xcd\xea\xb3\xc9\xb8\xf7\xd6\xd6\xb8\xdf\xb2\xe3\xc8\xce\xce\xf1\xa3\xac\xbc\xb8\xba\xf5\xbf\xc9\xd2\xd4\xd4\xda\xcb\xf9\xd3\xd0\xb5\xc4\xb2\xd9\xd7\xf7\xcf\xb5\xcd\xb3\xd6\xd0\n\xd4\xcb\xd0\xd0\xa1\xa3\xd5\xe2\xd6\xd6\xd3\xef\xd1\xd4\xbc\xf2\xb5\xa5\xb6\xf8\xc7\xbf\xb4\xf3\xa3\xac\xca\xca\xba\xcf\xb8\xf7\xd6\xd6\xc8\xcb\xca\xbf\xd1\xa7\xcf\xb0\xca\xb9\xd3\xc3\xa1\xa3\xc4\xbf\xc7\xb0\xa3\xac\xbb\xf9\xd3\xda\xd5\xe2\n\xd6\xd6\xd3\xef\xd1\xd4\xb5\xc4\xcf\xe0\xb9\xd8\xbc\xbc\xca\xf5\xd5\xfd\xd4\xda\xb7\xc9\xcb\xd9\xb5\xc4\xb7\xa2\xd5\xb9\xa3\xac\xd3\xc3\xbb\xa7\xca\xfd\xc1\xbf\xbc\xb1\xbe\xe7\xc0\xa9\xb4\xf3\xa3\xac\xcf\xe0\xb9\xd8\xb5\xc4\xd7\xca\xd4\xb4\xb7\xc7\xb3\xa3\xb6\xe0\xa1\xa3\n\xc8\xe7\xba\xce\xd4\xda Python \xd6\xd0\xca\xb9\xd3\xc3\xbc\xc8\xd3\xd0\xb5\xc4 C library?\n\xa1\xa1\xd4\xda\xd9Y\xd3\x8d\xbf\xc6\xbc\xbc\xbf\xec\xcb\xd9\xb0l\xd5\xb9\xb5\xc4\xbd\xf1\xcc\xec, \xe9_\xb0l\xbc\xb0\x9cy\xd4\x87\xdc\x9b\xf3w\xb5\xc4\xcb\xd9\xb6\xc8\xca\xc7\xb2\xbb\xc8\xdd\xba\xf6\xd2\x95\xb5\xc4\n\xd5n\xee}. \x9e\xe9\xbc\xd3\xbf\xec\xe9_\xb0l\xbc\xb0\x9cy\xd4\x87\xb5\xc4\xcb\xd9\xb6\xc8, \xce\xd2\x82\x83\xb1\xe3\xb3\xa3\xcf\xa3\xcd\xfb\xc4\xdc\xc0\xfb\xd3\xc3\xd2\xbb\xd0\xa9\xd2\xd1\xe9_\xb0l\xba\xc3\xb5\xc4\nlibrary, \x81K\xd3\xd0\xd2\xbb\x82\x80 fast prototyping \xb5\xc4 programming language \xbf\xc9\n\xb9\xa9\xca\xb9\xd3\xc3. \xc4\xbf\xc7\xb0\xd3\xd0\xd4S\xd4S\xb6\xe0\xb6\xe0\xb5\xc4 library \xca\xc7\xd2\xd4 C \x8c\x91\xb3\xc9, \xb6\xf8 Python \xca\xc7\xd2\xbb\x82\x80\nfast prototyping \xb5\xc4 programming language. \xb9\xca\xce\xd2\x82\x83\xcf\xa3\xcd\xfb\xc4\xdc\x8c\xa2\xbc\xc8\xd3\xd0\xb5\xc4\nC library \xc4\xc3\xb5\xbd Python \xb5\xc4\xadh\xbe\xb3\xd6\xd0\x9cy\xd4\x87\xbc\xb0\xd5\xfb\xba\xcf. \xc6\xe4\xd6\xd0\xd7\xee\xd6\xf7\xd2\xaa\xd2\xb2\xca\xc7\xce\xd2\x82\x83\xcb\xf9\n\xd2\xaa\xd3\x91\xd5\x93\xb5\xc4\x86\x96\xee}\xbe\xcd\xca\xc7:\n\n', b'Python\xef\xbc\x88\xe6\xb4\xbe\xe6\xa3\xae\xef\xbc\x89\xe8\xaf\xad\xe8\xa8\x80\xe6\x98\xaf\xe4\xb8\x80\xe7\xa7\x8d\xe5\x8a\x9f\xe8\x83\xbd\xe5\xbc\xba\xe5\xa4\xa7\xe8\x80\x8c\xe5\xae\x8c\xe5\x96\x84\xe7\x9a\x84\xe9\x80\x9a\xe7\x94\xa8\xe5\x9e\x8b\xe8\xae\xa1\xe7\xae\x97\xe6\x9c\xba\xe7\xa8\x8b\xe5\xba\x8f\xe8\xae\xbe\xe8\xae\xa1\xe8\xaf\xad\xe8\xa8\x80\xef\xbc\x8c\n\xe5\xb7\xb2\xe7\xbb\x8f\xe5\x85\xb7\xe6\x9c\x89\xe5\x8d\x81\xe5\xa4\x9a\xe5\xb9\xb4\xe7\x9a\x84\xe5\x8f\x91\xe5\xb1\x95\xe5\x8e\x86\xe5\x8f\xb2\xef\xbc\x8c\xe6\x88\x90\xe7\x86\x9f\xe4\xb8\x94\xe7\xa8\xb3\xe5\xae\x9a\xe3\x80\x82\xe8\xbf\x99\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe5\x85\xb7\xe6\x9c\x89\xe9\x9d\x9e\xe5\xb8\xb8\xe7\xae\x80\xe6\x8d\xb7\xe8\x80\x8c\xe6\xb8\x85\xe6\x99\xb0\n\xe7\x9a\x84\xe8\xaf\xad\xe6\xb3\x95\xe7\x89\xb9\xe7\x82\xb9\xef\xbc\x8c\xe9\x80\x82\xe5\x90\x88\xe5\xae\x8c\xe6\x88\x90\xe5\x90\x84\xe7\xa7\x8d\xe9\xab\x98\xe5\xb1\x82\xe4\xbb\xbb\xe5\x8a\xa1\xef\xbc\x8c\xe5\x87\xa0\xe4\xb9\x8e\xe5\x8f\xaf\xe4\xbb\xa5\xe5\x9c\xa8\xe6\x89\x80\xe6\x9c\x89\xe7\x9a\x84\xe6\x93\x8d\xe4\xbd\x9c\xe7\xb3\xbb\xe7\xbb\x9f\xe4\xb8\xad\n\xe8\xbf\x90\xe8\xa1\x8c\xe3\x80\x82\xe8\xbf\x99\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe7\xae\x80\xe5\x8d\x95\xe8\x80\x8c\xe5\xbc\xba\xe5\xa4\xa7\xef\xbc\x8c\xe9\x80\x82\xe5\x90\x88\xe5\x90\x84\xe7\xa7\x8d\xe4\xba\xba\xe5\xa3\xab\xe5\xad\xa6\xe4\xb9\xa0\xe4\xbd\xbf\xe7\x94\xa8\xe3\x80\x82\xe7\x9b\xae\xe5\x89\x8d\xef\xbc\x8c\xe5\x9f\xba\xe4\xba\x8e\xe8\xbf\x99\n\xe7\xa7\x8d\xe8\xaf\xad\xe8\xa8\x80\xe7\x9a\x84\xe7\x9b\xb8\xe5\x85\xb3\xe6\x8a\x80\xe6\x9c\xaf\xe6\xad\xa3\xe5\x9c\xa8\xe9\xa3\x9e\xe9\x80\x9f\xe7\x9a\x84\xe5\x8f\x91\xe5\xb1\x95\xef\xbc\x8c\xe7\x94\xa8\xe6\x88\xb7\xe6\x95\xb0\xe9\x87\x8f\xe6\x80\xa5\xe5\x89\xa7\xe6\x89\xa9\xe5\xa4\xa7\xef\xbc\x8c\xe7\x9b\xb8\xe5\x85\xb3\xe7\x9a\x84\xe8\xb5\x84\xe6\xba\x90\xe9\x9d\x9e\xe5\xb8\xb8\xe5\xa4\x9a\xe3\x80\x82\n\xe5\xa6\x82\xe4\xbd\x95\xe5\x9c\xa8 Python \xe4\xb8\xad\xe4\xbd\xbf\xe7\x94\xa8\xe6\x97\xa2\xe6\x9c\x89\xe7\x9a\x84 C library?\n\xe3\x80\x80\xe5\x9c\xa8\xe8\xb3\x87\xe8\xa8\x8a\xe7\xa7\x91\xe6\x8a\x80\xe5\xbf\xab\xe9\x80\x9f\xe7\x99\xbc\xe5\xb1\x95\xe7\x9a\x84\xe4\xbb\x8a\xe5\xa4\xa9, \xe9\x96\x8b\xe7\x99\xbc\xe5\x8f\x8a\xe6\xb8\xac\xe8\xa9\xa6\xe8\xbb\x9f\xe9\xab\x94\xe7\x9a\x84\xe9\x80\x9f\xe5\xba\xa6\xe6\x98\xaf\xe4\xb8\x8d\xe5\xae\xb9\xe5\xbf\xbd\xe8\xa6\x96\xe7\x9a\x84\n\xe8\xaa\xb2\xe9\xa1\x8c. \xe7\x82\xba\xe5\x8a\xa0\xe5\xbf\xab\xe9\x96\x8b\xe7\x99\xbc\xe5\x8f\x8a\xe6\xb8\xac\xe8\xa9\xa6\xe7\x9a\x84\xe9\x80\x9f\xe5\xba\xa6, \xe6\x88\x91\xe5\x80\x91\xe4\xbe\xbf\xe5\xb8\xb8\xe5\xb8\x8c\xe6\x9c\x9b\xe8\x83\xbd\xe5\x88\xa9\xe7\x94\xa8\xe4\xb8\x80\xe4\xba\x9b\xe5\xb7\xb2\xe9\x96\x8b\xe7\x99\xbc\xe5\xa5\xbd\xe7\x9a\x84\nlibrary, \xe4\xb8\xa6\xe6\x9c\x89\xe4\xb8\x80\xe5\x80\x8b fast prototyping \xe7\x9a\x84 programming language \xe5\x8f\xaf\n\xe4\xbe\x9b\xe4\xbd\xbf\xe7\x94\xa8. \xe7\x9b\xae\xe5\x89\x8d\xe6\x9c\x89\xe8\xa8\xb1\xe8\xa8\xb1\xe5\xa4\x9a\xe5\xa4\x9a\xe7\x9a\x84 library \xe6\x98\xaf\xe4\xbb\xa5 C \xe5\xaf\xab\xe6\x88\x90, \xe8\x80\x8c Python \xe6\x98\xaf\xe4\xb8\x80\xe5\x80\x8b\nfast prototyping \xe7\x9a\x84 programming language. \xe6\x95\x85\xe6\x88\x91\xe5\x80\x91\xe5\xb8\x8c\xe6\x9c\x9b\xe8\x83\xbd\xe5\xb0\x87\xe6\x97\xa2\xe6\x9c\x89\xe7\x9a\x84\nC library \xe6\x8b\xbf\xe5\x88\xb0 Python \xe7\x9a\x84\xe7\x92\xb0\xe5\xa2\x83\xe4\xb8\xad\xe6\xb8\xac\xe8\xa9\xa6\xe5\x8f\x8a\xe6\x95\xb4\xe5\x90\x88. \xe5\x85\xb6\xe4\xb8\xad\xe6\x9c\x80\xe4\xb8\xbb\xe8\xa6\x81\xe4\xb9\x9f\xe6\x98\xaf\xe6\x88\x91\xe5\x80\x91\xe6\x89\x80\n\xe8\xa6\x81\xe8\xa8\x8e\xe8\xab\x96\xe7\x9a\x84\xe5\x95\x8f\xe9\xa1\x8c\xe5\xb0\xb1\xe6\x98\xaf:\n\n')
class test.test_codecencodings_cn.Test_HZ(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'This sentence is in ASCII.\nThe next sentence is in GB.~{<:Ky2;S{#,~}~\n~{NpJ)l6HK!#~}Bye.\n', 'strict', 'This sentence is in ASCII.\nThe next sentence is in GB.己所不欲,勿施於人。Bye.\n'), (b'This sentence is in ASCII.\nThe next sentence is in GB.~\n~{<:Ky2;S{#,NpJ)l6HK!#~}~\nBye.\n', 'strict', 'This sentence is in ASCII.\nThe next sentence is in GB.己所不欲,勿施於人。Bye.\n'), (b'ab~cd', 'replace', 'ab�cd'), (b'ab\xffcd', 'replace', 'ab�cd'), (b'ab~{\x81\x81AD~}cd', 'replace', 'ab��聊cd'), (b'ab~{AD~}cd', 'replace', 'ab聊cd'), (b'ab~{yyAD~}cd', 'replace', 'ab��聊cd'))
encoding = 'hz'
tstring = (b'This sentence is in ASCII.\nThe next sentence is in GB.~{<:Ky2;S{#,NpJ)l6HK!#~}Bye.\n', b'This sentence is in ASCII.\nThe next sentence is in GB.\xe5\xb7\xb1\xe6\x89\x80\xe4\xb8\x8d\xe6\xac\xb2\xef\xbc\x8c\xe5\x8b\xbf\xe6\x96\xbd\xe6\x96\xbc\xe4\xba\xba\xe3\x80\x82Bye.\n')
test.test_codecencodings_cn.test_main()[source]

test.test_codecencodings_hk module

class test.test_codecencodings_hk.Test_Big5HKSCS(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��謐'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��謐�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc謐'))
encoding = 'big5hkscs'
tstring = (b'\x88E\x88\\\x8as\x8b\xda\x8d\xd8\n\x88f\x88b\x88\xa7 \x88\xa7\x88\xa3\n', b'\xf0\xa0\x84\x8c\xc4\x9a\xe9\xb5\xae\xe7\xbd\x93\xe6\xb4\x86\n\xc3\x8a\xc3\x8a\xcc\x84\xc3\xaa \xc3\xaa\xc3\xaa\xcc\x84\n')
test.test_codecencodings_hk.test_main()[source]

test.test_codecencodings_iso2022 module

class test.test_codecencodings_iso2022.Test_ISO2022_JP(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'ab\xffcd', 'replace', 'ab�cd'), (b'ab\x1bdef', 'replace', 'ab\x1bdef'), (b'ab\x1b$def', 'replace', 'ab�'), (b'ab\x1bNdef', 'replace', 'ab\x1bNdef'))
encoding = 'iso2022_jp'
tstring = (b'Python \x1b$B$N3+H/$O!"\x1b(B1990 \x1b$BG/$4$m$+$i3+;O$5$l$F$$$^$9!#\x1b(B\n\x1b$B3+H/<T$N\x1b(B Guido van Rossum \x1b$B$O650iMQ$N%W%m%0%i%_%s%08@8l!V\x1b(BABC\x1b$B!W$N3+H/$K;22C$7$F$$$^$7$?$,!"\x1b(BABC \x1b$B$O<BMQ>e$NL\\E*$K$O$"$^$jE,$7$F$$$^$;$s$G$7$?!#\x1b(B\n\x1b$B$3$N$?$a!"\x1b(BGuido \x1b$B$O$h$j<BMQE*$J%W%m%0%i%_%s%08@8l$N3+H/$r3+;O$7!"1Q9q\x1b(B BBS \x1b$BJ|Aw$N%3%a%G%#HVAH!V%b%s%F%#\x1b(B \x1b$B%Q%$%=%s!W$N%U%!%s$G$"$k\x1b(B Guido \x1b$B$O$3$N8@8l$r!V\x1b(BPython\x1b$B!W$HL>$E$1$^$7$?!#\x1b(B\n\x1b$B$3$N$h$&$JGX7J$+$i@8$^$l$?\x1b(B Python \x1b$B$N8@8l@_7W$O!"!V%7%s%W%k!W$G!V=,F@$,MF0W!W$H$$$&L\\I8$K=EE@$,CV$+$l$F$$$^$9!#\x1b(B\n\x1b$BB?$/$N%9%/%j%W%H7O8@8l$G$O%f!<%6$NL\\@h$NMxJX@-$rM%@h$7$F?\'!9$J5!G=$r8@8lMWAG$H$7$F<h$jF~$l$k>l9g$,B?$$$N$G$9$,!"\x1b(BPython \x1b$B$G$O$=$&$$$C$?>.:Y9)$,DI2C$5$l$k$3$H$O$"$^$j$"$j$^$;$s!#\x1b(B\n\x1b$B8@8l<+BN$N5!G=$O:G>.8B$K2!$5$(!"I,MW$J5!G=$O3HD%%b%8%e!<%k$H$7$FDI2C$9$k!"$H$$$&$N$,\x1b(B Python \x1b$B$N%]%j%7!<$G$9!#\x1b(B\n\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n')
class test.test_codecencodings_iso2022.Test_ISO2022_JP2(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'ab\xffcd', 'replace', 'ab�cd'), (b'ab\x1bdef', 'replace', 'ab\x1bdef'), (b'ab\x1b$def', 'replace', 'ab�'), (b'ab\x1bNdef', 'replace', 'abdef'))
encoding = 'iso2022_jp_2'
tstring = (b'Python \x1b$B$N3+H/$O!"\x1b(B1990 \x1b$BG/$4$m$+$i3+;O$5$l$F$$$^$9!#\x1b(B\n\x1b$B3+H/<T$N\x1b(B Guido van Rossum \x1b$B$O650iMQ$N%W%m%0%i%_%s%08@8l!V\x1b(BABC\x1b$B!W$N3+H/$K;22C$7$F$$$^$7$?$,!"\x1b(BABC \x1b$B$O<BMQ>e$NL\\E*$K$O$"$^$jE,$7$F$$$^$;$s$G$7$?!#\x1b(B\n\x1b$B$3$N$?$a!"\x1b(BGuido \x1b$B$O$h$j<BMQE*$J%W%m%0%i%_%s%08@8l$N3+H/$r3+;O$7!"1Q9q\x1b(B BBS \x1b$BJ|Aw$N%3%a%G%#HVAH!V%b%s%F%#\x1b(B \x1b$B%Q%$%=%s!W$N%U%!%s$G$"$k\x1b(B Guido \x1b$B$O$3$N8@8l$r!V\x1b(BPython\x1b$B!W$HL>$E$1$^$7$?!#\x1b(B\n\x1b$B$3$N$h$&$JGX7J$+$i@8$^$l$?\x1b(B Python \x1b$B$N8@8l@_7W$O!"!V%7%s%W%k!W$G!V=,F@$,MF0W!W$H$$$&L\\I8$K=EE@$,CV$+$l$F$$$^$9!#\x1b(B\n\x1b$BB?$/$N%9%/%j%W%H7O8@8l$G$O%f!<%6$NL\\@h$NMxJX@-$rM%@h$7$F?\'!9$J5!G=$r8@8lMWAG$H$7$F<h$jF~$l$k>l9g$,B?$$$N$G$9$,!"\x1b(BPython \x1b$B$G$O$=$&$$$C$?>.:Y9)$,DI2C$5$l$k$3$H$O$"$^$j$"$j$^$;$s!#\x1b(B\n\x1b$B8@8l<+BN$N5!G=$O:G>.8B$K2!$5$(!"I,MW$J5!G=$O3HD%%b%8%e!<%k$H$7$FDI2C$9$k!"$H$$$&$N$,\x1b(B Python \x1b$B$N%]%j%7!<$G$9!#\x1b(B\n\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n')
class test.test_codecencodings_iso2022.Test_ISO2022_KR(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'ab\xffcd', 'replace', 'ab�cd'), (b'ab\x1bdef', 'replace', 'ab\x1bdef'), (b'ab\x1b$def', 'replace', 'ab�'), (b'ab\x1bNdef', 'replace', 'ab\x1bNdef'))
encoding = 'iso2022_kr'
test_chunkcoding()[source]
tstring = (b"\x1b$)C\x0e!]\x0f \x0eFD@L=c\x0f(Python)\x0e@:\x0f \x0e9h?l1b\x0f \x0e=10m\x0f, \x0e0-7BGQ\x0f \x0eGA7N1W7!9V\x0f \x0e>p>n@T4O4Y\x0f. \x0eFD@L=c@:\x0f\n\x0eH?@2@{@N\x0f \x0e0m<vAX\x0f \x0e5%@LEM\x0f \x0e18A6?M\x0f \x0e0#4\\GOAv88\x0f \x0eH?@2@{@N\x0f \x0e04C<AvGbGA7N1W7!9V@;\x0f\n\x0eAv?xGU4O4Y\x0f. \x0eFD@L=c@G\x0f \x0e?l>F\x0f(\x0eiPd:\x0f)\x0eGQ\x0f \x0e9.9}0z\x0f \x0e5?@{\x0f \x0eE8@LGN\x0f, \x0e1W8.0m\x0f \x0e@NEMGA8.FC\x0f\n\x0eH/0f@:\x0f \x0eFD@L=c@;\x0f \x0e=:E)83FC0z\x0f \x0e?)7/\x0f \x0e:P>_?!<-?M\x0f \x0e4k:N:P@G\x0f \x0eGC7'F{?!<-@G\x0f \x0e:|8%\x0f\n\x0e>VGC8.DI@L<G\x0f \x0e039_@;\x0f \x0eGR\x0f \x0e<v\x0f \x0e@V4B\x0f \x0e@L;s@{@N\x0f \x0e>p>n7N\x0f \x0e885i>nA]4O4Y\x0f.\n\n\x0e!YC90!3!\x0f: \x0e3/>F6s\x0f \x0e>1\x0f~ \x0eE-\x0f! \x0e1]>x@L\x0f \x0e@|4O4Y\x0f. \x0e1W710E\x0f \x0e4Y\x0f.\n", b'\xe2\x97\x8e \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac(Python)\xec\x9d\x80 \xeb\xb0\xb0\xec\x9a\xb0\xea\xb8\xb0 \xec\x89\xbd\xea\xb3\xa0, \xea\xb0\x95\xeb\xa0\xa5\xed\x95\x9c \xed\x94\x84\xeb\xa1\x9c\xea\xb7\xb8\xeb\x9e\x98\xeb\xb0\x8d \xec\x96\xb8\xec\x96\xb4\xec\x9e\x85\xeb\x8b\x88\xeb\x8b\xa4. \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x80\n\xed\x9a\xa8\xec\x9c\xa8\xec\xa0\x81\xec\x9d\xb8 \xea\xb3\xa0\xec\x88\x98\xec\xa4\x80 \xeb\x8d\xb0\xec\x9d\xb4\xed\x84\xb0 \xea\xb5\xac\xec\xa1\xb0\xec\x99\x80 \xea\xb0\x84\xeb\x8b\xa8\xed\x95\x98\xec\xa7\x80\xeb\xa7\x8c \xed\x9a\xa8\xec\x9c\xa8\xec\xa0\x81\xec\x9d\xb8 \xea\xb0\x9d\xec\xb2\xb4\xec\xa7\x80\xed\x96\xa5\xed\x94\x84\xeb\xa1\x9c\xea\xb7\xb8\xeb\x9e\x98\xeb\xb0\x8d\xec\x9d\x84\n\xec\xa7\x80\xec\x9b\x90\xed\x95\xa9\xeb\x8b\x88\xeb\x8b\xa4. \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x98 \xec\x9a\xb0\xec\x95\x84(\xe5\x84\xaa\xe9\x9b\x85)\xed\x95\x9c \xeb\xac\xb8\xeb\xb2\x95\xea\xb3\xbc \xeb\x8f\x99\xec\xa0\x81 \xed\x83\x80\xec\x9d\xb4\xed\x95\x91, \xea\xb7\xb8\xeb\xa6\xac\xea\xb3\xa0 \xec\x9d\xb8\xed\x84\xb0\xed\x94\x84\xeb\xa6\xac\xed\x8c\x85\n\xed\x99\x98\xea\xb2\xbd\xec\x9d\x80 \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x84 \xec\x8a\xa4\xed\x81\xac\xeb\xa6\xbd\xed\x8c\x85\xea\xb3\xbc \xec\x97\xac\xeb\x9f\xac \xeb\xb6\x84\xec\x95\xbc\xec\x97\x90\xec\x84\x9c\xec\x99\x80 \xeb\x8c\x80\xeb\xb6\x80\xeb\xb6\x84\xec\x9d\x98 \xed\x94\x8c\xeb\x9e\xab\xed\x8f\xbc\xec\x97\x90\xec\x84\x9c\xec\x9d\x98 \xeb\xb9\xa0\xeb\xa5\xb8\n\xec\x95\xa0\xed\x94\x8c\xeb\xa6\xac\xec\xbc\x80\xec\x9d\xb4\xec\x85\x98 \xea\xb0\x9c\xeb\xb0\x9c\xec\x9d\x84 \xed\x95\xa0 \xec\x88\x98 \xec\x9e\x88\xeb\x8a\x94 \xec\x9d\xb4\xec\x83\x81\xec\xa0\x81\xec\x9d\xb8 \xec\x96\xb8\xec\x96\xb4\xeb\xa1\x9c \xeb\xa7\x8c\xeb\x93\xa4\xec\x96\xb4\xec\xa4\x8d\xeb\x8b\x88\xeb\x8b\xa4.\n\n\xe2\x98\x86\xec\xb2\xab\xea\xb0\x80\xeb\x81\x9d: \xeb\x82\xa0\xec\x95\x84\xeb\x9d\xbc \xec\x93\xa9~ \xed\x81\xbc! \xea\xb8\x88\xec\x97\x86\xec\x9d\xb4 \xec\xa0\x84\xeb\x8b\x88\xeb\x8b\xa4. \xea\xb7\xb8\xeb\x9f\xb0\xea\xb1\xb0 \xeb\x8b\xa4.\n')
test.test_codecencodings_iso2022.test_main()[source]

test.test_codecencodings_jp module

class test.test_codecencodings_jp.Test_CP932(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x81\x00\x81\x00\x82\x84', 'strict', None), (b'abc\xf8', 'strict', None), (b'abc\x81\x00\x82\x84', 'replace', 'abc�\x00d'), (b'abc\x81\x00\x82\x84\x88', 'replace', 'abc�\x00d�'), (b'abc\x81\x00\x82\x84', 'ignore', 'abc\x00d'), (b'ab\xebxy', 'replace', 'ab�xy'), (b'ab\xf09xy', 'replace', 'ab�9xy'), (b'ab\xea\xf0xy', 'replace', 'ab�\ue038y'), (b'\\~', 'replace', '\\~'), (b'\x81_\x81a\x81|', 'replace', '\∥-'))
encoding = 'cp932'
tstring = (b'Python \x82\xcc\x8aJ\x94\xad\x82\xcd\x81A1990 \x94N\x82\xb2\x82\xeb\x82\xa9\x82\xe7\x8aJ\x8en\x82\xb3\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x8aJ\x94\xad\x8e\xd2\x82\xcc Guido van Rossum \x82\xcd\x8b\xb3\x88\xe7\x97p\x82\xcc\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x81uABC\x81v\x82\xcc\x8aJ\x94\xad\x82\xc9\x8eQ\x89\xc1\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb5\x82\xbd\x82\xaa\x81AABC \x82\xcd\x8e\xc0\x97p\x8f\xe3\x82\xcc\x96\xda\x93I\x82\xc9\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x93K\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x82\xc5\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xbd\x82\xdf\x81AGuido \x82\xcd\x82\xe6\x82\xe8\x8e\xc0\x97p\x93I\x82\xc8\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x82\xcc\x8aJ\x94\xad\x82\xf0\x8aJ\x8en\x82\xb5\x81A\x89p\x8d\x91 BBS \x95\xfa\x91\x97\x82\xcc\x83R\x83\x81\x83f\x83B\x94\xd4\x91g\x81u\x83\x82\x83\x93\x83e\x83B \x83p\x83C\x83\\\x83\x93\x81v\x82\xcc\x83t\x83@\x83\x93\x82\xc5\x82\xa0\x82\xe9 Guido \x82\xcd\x82\xb1\x82\xcc\x8c\xbe\x8c\xea\x82\xf0\x81uPython\x81v\x82\xc6\x96\xbc\x82\xc3\x82\xaf\x82\xdc\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xe6\x82\xa4\x82\xc8\x94w\x8ci\x82\xa9\x82\xe7\x90\xb6\x82\xdc\x82\xea\x82\xbd Python \x82\xcc\x8c\xbe\x8c\xea\x90\xdd\x8cv\x82\xcd\x81A\x81u\x83V\x83\x93\x83v\x83\x8b\x81v\x82\xc5\x81u\x8fK\x93\xbe\x82\xaa\x97e\x88\xd5\x81v\x82\xc6\x82\xa2\x82\xa4\x96\xda\x95W\x82\xc9\x8fd\x93_\x82\xaa\x92u\x82\xa9\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x91\xbd\x82\xad\x82\xcc\x83X\x83N\x83\x8a\x83v\x83g\x8cn\x8c\xbe\x8c\xea\x82\xc5\x82\xcd\x83\x86\x81[\x83U\x82\xcc\x96\xda\x90\xe6\x82\xcc\x97\x98\x95\xd6\x90\xab\x82\xf0\x97D\x90\xe6\x82\xb5\x82\xc4\x90F\x81X\x82\xc8\x8b@\x94\\\x82\xf0\x8c\xbe\x8c\xea\x97v\x91f\x82\xc6\x82\xb5\x82\xc4\x8e\xe6\x82\xe8\x93\xfc\x82\xea\x82\xe9\x8f\xea\x8d\x87\x82\xaa\x91\xbd\x82\xa2\x82\xcc\x82\xc5\x82\xb7\x82\xaa\x81APython \x82\xc5\x82\xcd\x82\xbb\x82\xa4\x82\xa2\x82\xc1\x82\xbd\x8f\xac\x8d\xd7\x8dH\x82\xaa\x92\xc7\x89\xc1\x82\xb3\x82\xea\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x82\xa0\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B\n\x8c\xbe\x8c\xea\x8e\xa9\x91\xcc\x82\xcc\x8b@\x94\\\x82\xcd\x8d\xc5\x8f\xac\x8c\xc0\x82\xc9\x89\x9f\x82\xb3\x82\xa6\x81A\x95K\x97v\x82\xc8\x8b@\x94\\\x82\xcd\x8ag\x92\xa3\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xc6\x82\xb5\x82\xc4\x92\xc7\x89\xc1\x82\xb7\x82\xe9\x81A\x82\xc6\x82\xa2\x82\xa4\x82\xcc\x82\xaa Python \x82\xcc\x83|\x83\x8a\x83V\x81[\x82\xc5\x82\xb7\x81B\n\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n')
class test.test_codecencodings_jp.Test_EUC_JISX0213(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��祖'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��祖�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc祖'), (b'abc\xc8', 'strict', None), (b'abc\x8f\x83\x83', 'replace', 'abc���'), (b'\x82\xfcxy', 'replace', '��xy'), (b'\xc1d', 'strict', None), (b'\xa1\xc0', 'strict', '\'), (b'\xa1\xc0\\', 'strict', '\\\'), (b'\x8eXY', 'replace', '�XY'))
encoding = 'euc_jisx0213'
tstring = (b'Python \xa4\xce\xb3\xab\xc8\xaf\xa4\xcf\xa1\xa21990 \xc7\xaf\xa4\xb4\xa4\xed\xa4\xab\xa4\xe9\xb3\xab\xbb\xcf\xa4\xb5\xa4\xec\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb9\xa1\xa3\n\xb3\xab\xc8\xaf\xbc\xd4\xa4\xce Guido van Rossum \xa4\xcf\xb6\xb5\xb0\xe9\xcd\xd1\xa4\xce\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\xa1\xd6ABC\xa1\xd7\xa4\xce\xb3\xab\xc8\xaf\xa4\xcb\xbb\xb2\xb2\xc3\xa4\xb7\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb7\xa4\xbf\xa4\xac\xa1\xa2ABC \xa4\xcf\xbc\xc2\xcd\xd1\xbe\xe5\xa4\xce\xcc\xdc\xc5\xaa\xa4\xcb\xa4\xcf\xa4\xa2\xa4\xde\xa4\xea\xc5\xac\xa4\xb7\xa4\xc6\xa4\xa4\xa4\xde\xa4\xbb\xa4\xf3\xa4\xc7\xa4\xb7\xa4\xbf\xa1\xa3\n\xa4\xb3\xa4\xce\xa4\xbf\xa4\xe1\xa1\xa2Guido \xa4\xcf\xa4\xe8\xa4\xea\xbc\xc2\xcd\xd1\xc5\xaa\xa4\xca\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\xa4\xce\xb3\xab\xc8\xaf\xa4\xf2\xb3\xab\xbb\xcf\xa4\xb7\xa1\xa2\xb1\xd1\xb9\xf1 BBS \xca\xfc\xc1\xf7\xa4\xce\xa5\xb3\xa5\xe1\xa5\xc7\xa5\xa3\xc8\xd6\xc1\xc8\xa1\xd6\xa5\xe2\xa5\xf3\xa5\xc6\xa5\xa3 \xa5\xd1\xa5\xa4\xa5\xbd\xa5\xf3\xa1\xd7\xa4\xce\xa5\xd5\xa5\xa1\xa5\xf3\xa4\xc7\xa4\xa2\xa4\xeb Guido \xa4\xcf\xa4\xb3\xa4\xce\xb8\xc0\xb8\xec\xa4\xf2\xa1\xd6Python\xa1\xd7\xa4\xc8\xcc\xbe\xa4\xc5\xa4\xb1\xa4\xde\xa4\xb7\xa4\xbf\xa1\xa3\n\xa4\xb3\xa4\xce\xa4\xe8\xa4\xa6\xa4\xca\xc7\xd8\xb7\xca\xa4\xab\xa4\xe9\xc0\xb8\xa4\xde\xa4\xec\xa4\xbf Python \xa4\xce\xb8\xc0\xb8\xec\xc0\xdf\xb7\xd7\xa4\xcf\xa1\xa2\xa1\xd6\xa5\xb7\xa5\xf3\xa5\xd7\xa5\xeb\xa1\xd7\xa4\xc7\xa1\xd6\xbd\xac\xc6\xc0\xa4\xac\xcd\xc6\xb0\xd7\xa1\xd7\xa4\xc8\xa4\xa4\xa4\xa6\xcc\xdc\xc9\xb8\xa4\xcb\xbd\xc5\xc5\xc0\xa4\xac\xc3\xd6\xa4\xab\xa4\xec\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb9\xa1\xa3\n\xc2\xbf\xa4\xaf\xa4\xce\xa5\xb9\xa5\xaf\xa5\xea\xa5\xd7\xa5\xc8\xb7\xcf\xb8\xc0\xb8\xec\xa4\xc7\xa4\xcf\xa5\xe6\xa1\xbc\xa5\xb6\xa4\xce\xcc\xdc\xc0\xe8\xa4\xce\xcd\xf8\xca\xd8\xc0\xad\xa4\xf2\xcd\xa5\xc0\xe8\xa4\xb7\xa4\xc6\xbf\xa7\xa1\xb9\xa4\xca\xb5\xa1\xc7\xbd\xa4\xf2\xb8\xc0\xb8\xec\xcd\xd7\xc1\xc7\xa4\xc8\xa4\xb7\xa4\xc6\xbc\xe8\xa4\xea\xc6\xfe\xa4\xec\xa4\xeb\xbe\xec\xb9\xe7\xa4\xac\xc2\xbf\xa4\xa4\xa4\xce\xa4\xc7\xa4\xb9\xa4\xac\xa1\xa2Python \xa4\xc7\xa4\xcf\xa4\xbd\xa4\xa6\xa4\xa4\xa4\xc3\xa4\xbf\xbe\xae\xba\xd9\xb9\xa9\xa4\xac\xc4\xc9\xb2\xc3\xa4\xb5\xa4\xec\xa4\xeb\xa4\xb3\xa4\xc8\xa4\xcf\xa4\xa2\xa4\xde\xa4\xea\xa4\xa2\xa4\xea\xa4\xde\xa4\xbb\xa4\xf3\xa1\xa3\n\xb8\xc0\xb8\xec\xbc\xab\xc2\xce\xa4\xce\xb5\xa1\xc7\xbd\xa4\xcf\xba\xc7\xbe\xae\xb8\xc2\xa4\xcb\xb2\xa1\xa4\xb5\xa4\xa8\xa1\xa2\xc9\xac\xcd\xd7\xa4\xca\xb5\xa1\xc7\xbd\xa4\xcf\xb3\xc8\xc4\xa5\xa5\xe2\xa5\xb8\xa5\xe5\xa1\xbc\xa5\xeb\xa4\xc8\xa4\xb7\xa4\xc6\xc4\xc9\xb2\xc3\xa4\xb9\xa4\xeb\xa1\xa2\xa4\xc8\xa4\xa4\xa4\xa6\xa4\xce\xa4\xac Python \xa4\xce\xa5\xdd\xa5\xea\xa5\xb7\xa1\xbc\xa4\xc7\xa4\xb9\xa1\xa3\n\n\xa5\xce\xa4\xf7 \xa5\xfe \xa5\xc8\xa5\xad\xaf\xac\xaf\xda \xcf\xe3\x8f\xfe\xd8 \x8f\xfe\xd4\x8f\xfe\xe8\x8f\xfc\xd6\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n\xe3\x83\x8e\xe3\x81\x8b\xe3\x82\x9a \xe3\x83\x88\xe3\x82\x9a \xe3\x83\x88\xe3\x82\xad\xef\xa8\xb6\xef\xa8\xb9 \xf0\xa1\x9a\xb4\xf0\xaa\x8e\x8c \xe9\xba\x80\xe9\xbd\x81\xf0\xa9\x9b\xb0\n')
xmlcharnametest = ('«ℜ» = 〈ሴ〉', b'\xa9\xa8&real;\xa9\xb2 = &lang;&#4660;&rang;')
class test.test_codecencodings_jp.Test_EUC_JIS_2004(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��祖'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��祖�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc祖'), (b'abc\xc8', 'strict', None), (b'abc\x8f\x83\x83', 'replace', 'abc���'), (b'\x82\xfcxy', 'replace', '��xy'), (b'\xc1d', 'strict', None), (b'\xa1\xc0', 'strict', '\'), (b'\xa1\xc0\\', 'strict', '\\\'), (b'\x8eXY', 'replace', '�XY'))
encoding = 'euc_jis_2004'
tstring = (b'Python \xa4\xce\xb3\xab\xc8\xaf\xa4\xcf\xa1\xa21990 \xc7\xaf\xa4\xb4\xa4\xed\xa4\xab\xa4\xe9\xb3\xab\xbb\xcf\xa4\xb5\xa4\xec\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb9\xa1\xa3\n\xb3\xab\xc8\xaf\xbc\xd4\xa4\xce Guido van Rossum \xa4\xcf\xb6\xb5\xb0\xe9\xcd\xd1\xa4\xce\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\xa1\xd6ABC\xa1\xd7\xa4\xce\xb3\xab\xc8\xaf\xa4\xcb\xbb\xb2\xb2\xc3\xa4\xb7\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb7\xa4\xbf\xa4\xac\xa1\xa2ABC \xa4\xcf\xbc\xc2\xcd\xd1\xbe\xe5\xa4\xce\xcc\xdc\xc5\xaa\xa4\xcb\xa4\xcf\xa4\xa2\xa4\xde\xa4\xea\xc5\xac\xa4\xb7\xa4\xc6\xa4\xa4\xa4\xde\xa4\xbb\xa4\xf3\xa4\xc7\xa4\xb7\xa4\xbf\xa1\xa3\n\xa4\xb3\xa4\xce\xa4\xbf\xa4\xe1\xa1\xa2Guido \xa4\xcf\xa4\xe8\xa4\xea\xbc\xc2\xcd\xd1\xc5\xaa\xa4\xca\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\xa4\xce\xb3\xab\xc8\xaf\xa4\xf2\xb3\xab\xbb\xcf\xa4\xb7\xa1\xa2\xb1\xd1\xb9\xf1 BBS \xca\xfc\xc1\xf7\xa4\xce\xa5\xb3\xa5\xe1\xa5\xc7\xa5\xa3\xc8\xd6\xc1\xc8\xa1\xd6\xa5\xe2\xa5\xf3\xa5\xc6\xa5\xa3 \xa5\xd1\xa5\xa4\xa5\xbd\xa5\xf3\xa1\xd7\xa4\xce\xa5\xd5\xa5\xa1\xa5\xf3\xa4\xc7\xa4\xa2\xa4\xeb Guido \xa4\xcf\xa4\xb3\xa4\xce\xb8\xc0\xb8\xec\xa4\xf2\xa1\xd6Python\xa1\xd7\xa4\xc8\xcc\xbe\xa4\xc5\xa4\xb1\xa4\xde\xa4\xb7\xa4\xbf\xa1\xa3\n\xa4\xb3\xa4\xce\xa4\xe8\xa4\xa6\xa4\xca\xc7\xd8\xb7\xca\xa4\xab\xa4\xe9\xc0\xb8\xa4\xde\xa4\xec\xa4\xbf Python \xa4\xce\xb8\xc0\xb8\xec\xc0\xdf\xb7\xd7\xa4\xcf\xa1\xa2\xa1\xd6\xa5\xb7\xa5\xf3\xa5\xd7\xa5\xeb\xa1\xd7\xa4\xc7\xa1\xd6\xbd\xac\xc6\xc0\xa4\xac\xcd\xc6\xb0\xd7\xa1\xd7\xa4\xc8\xa4\xa4\xa4\xa6\xcc\xdc\xc9\xb8\xa4\xcb\xbd\xc5\xc5\xc0\xa4\xac\xc3\xd6\xa4\xab\xa4\xec\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb9\xa1\xa3\n\xc2\xbf\xa4\xaf\xa4\xce\xa5\xb9\xa5\xaf\xa5\xea\xa5\xd7\xa5\xc8\xb7\xcf\xb8\xc0\xb8\xec\xa4\xc7\xa4\xcf\xa5\xe6\xa1\xbc\xa5\xb6\xa4\xce\xcc\xdc\xc0\xe8\xa4\xce\xcd\xf8\xca\xd8\xc0\xad\xa4\xf2\xcd\xa5\xc0\xe8\xa4\xb7\xa4\xc6\xbf\xa7\xa1\xb9\xa4\xca\xb5\xa1\xc7\xbd\xa4\xf2\xb8\xc0\xb8\xec\xcd\xd7\xc1\xc7\xa4\xc8\xa4\xb7\xa4\xc6\xbc\xe8\xa4\xea\xc6\xfe\xa4\xec\xa4\xeb\xbe\xec\xb9\xe7\xa4\xac\xc2\xbf\xa4\xa4\xa4\xce\xa4\xc7\xa4\xb9\xa4\xac\xa1\xa2Python \xa4\xc7\xa4\xcf\xa4\xbd\xa4\xa6\xa4\xa4\xa4\xc3\xa4\xbf\xbe\xae\xba\xd9\xb9\xa9\xa4\xac\xc4\xc9\xb2\xc3\xa4\xb5\xa4\xec\xa4\xeb\xa4\xb3\xa4\xc8\xa4\xcf\xa4\xa2\xa4\xde\xa4\xea\xa4\xa2\xa4\xea\xa4\xde\xa4\xbb\xa4\xf3\xa1\xa3\n\xb8\xc0\xb8\xec\xbc\xab\xc2\xce\xa4\xce\xb5\xa1\xc7\xbd\xa4\xcf\xba\xc7\xbe\xae\xb8\xc2\xa4\xcb\xb2\xa1\xa4\xb5\xa4\xa8\xa1\xa2\xc9\xac\xcd\xd7\xa4\xca\xb5\xa1\xc7\xbd\xa4\xcf\xb3\xc8\xc4\xa5\xa5\xe2\xa5\xb8\xa5\xe5\xa1\xbc\xa5\xeb\xa4\xc8\xa4\xb7\xa4\xc6\xc4\xc9\xb2\xc3\xa4\xb9\xa4\xeb\xa1\xa2\xa4\xc8\xa4\xa4\xa4\xa6\xa4\xce\xa4\xac Python \xa4\xce\xa5\xdd\xa5\xea\xa5\xb7\xa1\xbc\xa4\xc7\xa4\xb9\xa1\xa3\n\n\xa5\xce\xa4\xf7 \xa5\xfe \xa5\xc8\xa5\xad\xaf\xac\xaf\xda \xcf\xe3\x8f\xfe\xd8 \x8f\xfe\xd4\x8f\xfe\xe8\x8f\xfc\xd6\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n\xe3\x83\x8e\xe3\x81\x8b\xe3\x82\x9a \xe3\x83\x88\xe3\x82\x9a \xe3\x83\x88\xe3\x82\xad\xef\xa8\xb6\xef\xa8\xb9 \xf0\xa1\x9a\xb4\xf0\xaa\x8e\x8c \xe9\xba\x80\xe9\xbd\x81\xf0\xa9\x9b\xb0\n')
xmlcharnametest = ('«ℜ» = 〈ሴ〉', b'\xa9\xa8&real;\xa9\xb2 = &lang;&#4660;&rang;')
class test.test_codecencodings_jp.Test_EUC_JP_COMPAT(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��祖'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��祖�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc祖'), (b'abc\xc8', 'strict', None), (b'abc\x8f\x83\x83', 'replace', 'abc���'), (b'\x82\xfcxy', 'replace', '��xy'), (b'\xc1d', 'strict', None), (b'\xa1\xc0', 'strict', '\'), (b'\xa1\xc0\\', 'strict', '\\\'), (b'\x8eXY', 'replace', '�XY'), ('¥', 'strict', b'\\'), ('‾', 'strict', b'~'))
encoding = 'euc_jp'
tstring = (b'Python \xa4\xce\xb3\xab\xc8\xaf\xa4\xcf\xa1\xa21990 \xc7\xaf\xa4\xb4\xa4\xed\xa4\xab\xa4\xe9\xb3\xab\xbb\xcf\xa4\xb5\xa4\xec\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb9\xa1\xa3\n\xb3\xab\xc8\xaf\xbc\xd4\xa4\xce Guido van Rossum \xa4\xcf\xb6\xb5\xb0\xe9\xcd\xd1\xa4\xce\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\xa1\xd6ABC\xa1\xd7\xa4\xce\xb3\xab\xc8\xaf\xa4\xcb\xbb\xb2\xb2\xc3\xa4\xb7\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb7\xa4\xbf\xa4\xac\xa1\xa2ABC \xa4\xcf\xbc\xc2\xcd\xd1\xbe\xe5\xa4\xce\xcc\xdc\xc5\xaa\xa4\xcb\xa4\xcf\xa4\xa2\xa4\xde\xa4\xea\xc5\xac\xa4\xb7\xa4\xc6\xa4\xa4\xa4\xde\xa4\xbb\xa4\xf3\xa4\xc7\xa4\xb7\xa4\xbf\xa1\xa3\n\xa4\xb3\xa4\xce\xa4\xbf\xa4\xe1\xa1\xa2Guido \xa4\xcf\xa4\xe8\xa4\xea\xbc\xc2\xcd\xd1\xc5\xaa\xa4\xca\xa5\xd7\xa5\xed\xa5\xb0\xa5\xe9\xa5\xdf\xa5\xf3\xa5\xb0\xb8\xc0\xb8\xec\xa4\xce\xb3\xab\xc8\xaf\xa4\xf2\xb3\xab\xbb\xcf\xa4\xb7\xa1\xa2\xb1\xd1\xb9\xf1 BBS \xca\xfc\xc1\xf7\xa4\xce\xa5\xb3\xa5\xe1\xa5\xc7\xa5\xa3\xc8\xd6\xc1\xc8\xa1\xd6\xa5\xe2\xa5\xf3\xa5\xc6\xa5\xa3 \xa5\xd1\xa5\xa4\xa5\xbd\xa5\xf3\xa1\xd7\xa4\xce\xa5\xd5\xa5\xa1\xa5\xf3\xa4\xc7\xa4\xa2\xa4\xeb Guido \xa4\xcf\xa4\xb3\xa4\xce\xb8\xc0\xb8\xec\xa4\xf2\xa1\xd6Python\xa1\xd7\xa4\xc8\xcc\xbe\xa4\xc5\xa4\xb1\xa4\xde\xa4\xb7\xa4\xbf\xa1\xa3\n\xa4\xb3\xa4\xce\xa4\xe8\xa4\xa6\xa4\xca\xc7\xd8\xb7\xca\xa4\xab\xa4\xe9\xc0\xb8\xa4\xde\xa4\xec\xa4\xbf Python \xa4\xce\xb8\xc0\xb8\xec\xc0\xdf\xb7\xd7\xa4\xcf\xa1\xa2\xa1\xd6\xa5\xb7\xa5\xf3\xa5\xd7\xa5\xeb\xa1\xd7\xa4\xc7\xa1\xd6\xbd\xac\xc6\xc0\xa4\xac\xcd\xc6\xb0\xd7\xa1\xd7\xa4\xc8\xa4\xa4\xa4\xa6\xcc\xdc\xc9\xb8\xa4\xcb\xbd\xc5\xc5\xc0\xa4\xac\xc3\xd6\xa4\xab\xa4\xec\xa4\xc6\xa4\xa4\xa4\xde\xa4\xb9\xa1\xa3\n\xc2\xbf\xa4\xaf\xa4\xce\xa5\xb9\xa5\xaf\xa5\xea\xa5\xd7\xa5\xc8\xb7\xcf\xb8\xc0\xb8\xec\xa4\xc7\xa4\xcf\xa5\xe6\xa1\xbc\xa5\xb6\xa4\xce\xcc\xdc\xc0\xe8\xa4\xce\xcd\xf8\xca\xd8\xc0\xad\xa4\xf2\xcd\xa5\xc0\xe8\xa4\xb7\xa4\xc6\xbf\xa7\xa1\xb9\xa4\xca\xb5\xa1\xc7\xbd\xa4\xf2\xb8\xc0\xb8\xec\xcd\xd7\xc1\xc7\xa4\xc8\xa4\xb7\xa4\xc6\xbc\xe8\xa4\xea\xc6\xfe\xa4\xec\xa4\xeb\xbe\xec\xb9\xe7\xa4\xac\xc2\xbf\xa4\xa4\xa4\xce\xa4\xc7\xa4\xb9\xa4\xac\xa1\xa2Python \xa4\xc7\xa4\xcf\xa4\xbd\xa4\xa6\xa4\xa4\xa4\xc3\xa4\xbf\xbe\xae\xba\xd9\xb9\xa9\xa4\xac\xc4\xc9\xb2\xc3\xa4\xb5\xa4\xec\xa4\xeb\xa4\xb3\xa4\xc8\xa4\xcf\xa4\xa2\xa4\xde\xa4\xea\xa4\xa2\xa4\xea\xa4\xde\xa4\xbb\xa4\xf3\xa1\xa3\n\xb8\xc0\xb8\xec\xbc\xab\xc2\xce\xa4\xce\xb5\xa1\xc7\xbd\xa4\xcf\xba\xc7\xbe\xae\xb8\xc2\xa4\xcb\xb2\xa1\xa4\xb5\xa4\xa8\xa1\xa2\xc9\xac\xcd\xd7\xa4\xca\xb5\xa1\xc7\xbd\xa4\xcf\xb3\xc8\xc4\xa5\xa5\xe2\xa5\xb8\xa5\xe5\xa1\xbc\xa5\xeb\xa4\xc8\xa4\xb7\xa4\xc6\xc4\xc9\xb2\xc3\xa4\xb9\xa4\xeb\xa1\xa2\xa4\xc8\xa4\xa4\xa4\xa6\xa4\xce\xa4\xac Python \xa4\xce\xa5\xdd\xa5\xea\xa5\xb7\xa1\xbc\xa4\xc7\xa4\xb9\xa1\xa3\n\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n')
class test.test_codecencodings_jp.Test_SJISX0213(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\x82\x84', 'strict', None), (b'abc\xf8', 'strict', None), (b'abc\x80\x80\x82\x84def', 'ignore', 'abcddef'), (b'abc\x80\x80\x82\x84', 'replace', 'abc��d'), (b'abc\x80\x80\x82\x84\x88', 'replace', 'abc��d�'), (b'\\~', 'replace', '¥‾'), (b'\x81_\x81a\x81|', 'replace', '\\‖−'))
encoding = 'shift_jisx0213'
tstring = (b'Python \x82\xcc\x8aJ\x94\xad\x82\xcd\x81A1990 \x94N\x82\xb2\x82\xeb\x82\xa9\x82\xe7\x8aJ\x8en\x82\xb3\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x8aJ\x94\xad\x8e\xd2\x82\xcc Guido van Rossum \x82\xcd\x8b\xb3\x88\xe7\x97p\x82\xcc\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x81uABC\x81v\x82\xcc\x8aJ\x94\xad\x82\xc9\x8eQ\x89\xc1\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb5\x82\xbd\x82\xaa\x81AABC \x82\xcd\x8e\xc0\x97p\x8f\xe3\x82\xcc\x96\xda\x93I\x82\xc9\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x93K\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x82\xc5\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xbd\x82\xdf\x81AGuido \x82\xcd\x82\xe6\x82\xe8\x8e\xc0\x97p\x93I\x82\xc8\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x82\xcc\x8aJ\x94\xad\x82\xf0\x8aJ\x8en\x82\xb5\x81A\x89p\x8d\x91 BBS \x95\xfa\x91\x97\x82\xcc\x83R\x83\x81\x83f\x83B\x94\xd4\x91g\x81u\x83\x82\x83\x93\x83e\x83B \x83p\x83C\x83\\\x83\x93\x81v\x82\xcc\x83t\x83@\x83\x93\x82\xc5\x82\xa0\x82\xe9 Guido \x82\xcd\x82\xb1\x82\xcc\x8c\xbe\x8c\xea\x82\xf0\x81uPython\x81v\x82\xc6\x96\xbc\x82\xc3\x82\xaf\x82\xdc\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xe6\x82\xa4\x82\xc8\x94w\x8ci\x82\xa9\x82\xe7\x90\xb6\x82\xdc\x82\xea\x82\xbd Python \x82\xcc\x8c\xbe\x8c\xea\x90\xdd\x8cv\x82\xcd\x81A\x81u\x83V\x83\x93\x83v\x83\x8b\x81v\x82\xc5\x81u\x8fK\x93\xbe\x82\xaa\x97e\x88\xd5\x81v\x82\xc6\x82\xa2\x82\xa4\x96\xda\x95W\x82\xc9\x8fd\x93_\x82\xaa\x92u\x82\xa9\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x91\xbd\x82\xad\x82\xcc\x83X\x83N\x83\x8a\x83v\x83g\x8cn\x8c\xbe\x8c\xea\x82\xc5\x82\xcd\x83\x86\x81[\x83U\x82\xcc\x96\xda\x90\xe6\x82\xcc\x97\x98\x95\xd6\x90\xab\x82\xf0\x97D\x90\xe6\x82\xb5\x82\xc4\x90F\x81X\x82\xc8\x8b@\x94\\\x82\xf0\x8c\xbe\x8c\xea\x97v\x91f\x82\xc6\x82\xb5\x82\xc4\x8e\xe6\x82\xe8\x93\xfc\x82\xea\x82\xe9\x8f\xea\x8d\x87\x82\xaa\x91\xbd\x82\xa2\x82\xcc\x82\xc5\x82\xb7\x82\xaa\x81APython \x82\xc5\x82\xcd\x82\xbb\x82\xa4\x82\xa2\x82\xc1\x82\xbd\x8f\xac\x8d\xd7\x8dH\x82\xaa\x92\xc7\x89\xc1\x82\xb3\x82\xea\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x82\xa0\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B\n\x8c\xbe\x8c\xea\x8e\xa9\x91\xcc\x82\xcc\x8b@\x94\\\x82\xcd\x8d\xc5\x8f\xac\x8c\xc0\x82\xc9\x89\x9f\x82\xb3\x82\xa6\x81A\x95K\x97v\x82\xc8\x8b@\x94\\\x82\xcd\x8ag\x92\xa3\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xc6\x82\xb5\x82\xc4\x92\xc7\x89\xc1\x82\xb7\x82\xe9\x81A\x82\xc6\x82\xa2\x82\xa4\x82\xcc\x82\xaa Python \x82\xcc\x83|\x83\x8a\x83V\x81[\x82\xc5\x82\xb7\x81B\n\n\x83m\x82\xf5 \x83\x9e \x83g\x83L\x88K\x88y \x98\x83\xfc\xd6 \xfc\xd2\xfc\xe6\xfb\xd4\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n\xe3\x83\x8e\xe3\x81\x8b\xe3\x82\x9a \xe3\x83\x88\xe3\x82\x9a \xe3\x83\x88\xe3\x82\xad\xef\xa8\xb6\xef\xa8\xb9 \xf0\xa1\x9a\xb4\xf0\xaa\x8e\x8c \xe9\xba\x80\xe9\xbd\x81\xf0\xa9\x9b\xb0\n')
xmlcharnametest = ('«ℜ» = 〈ሴ〉', b'\x85G&real;\x85Q = &lang;&#4660;&rang;')
class test.test_codecencodings_jp.Test_SJIS_2004(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\x82\x84', 'strict', None), (b'abc\xf8', 'strict', None), (b'abc\x80\x80\x82\x84def', 'ignore', 'abcddef'), (b'\\~', 'strict', '¥‾'), (b'\x81_\x81a\x81|', 'strict', '\\‖−'), (b'abc\xea\xfc', 'strict', 'abc撿'), (b'\x819xy', 'replace', '�9xy'), (b'\xffXxy', 'replace', '�Xxy'), (b'\x80\x80\x82\x84xy', 'replace', '��dxy'), (b'\x80\x80\x82\x84\x88xy', 'replace', '��d塤y'), (b'\xfc\xfbxy', 'replace', '�閴y'))
encoding = 'shift_jis_2004'
tstring = (b'Python \x82\xcc\x8aJ\x94\xad\x82\xcd\x81A1990 \x94N\x82\xb2\x82\xeb\x82\xa9\x82\xe7\x8aJ\x8en\x82\xb3\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x8aJ\x94\xad\x8e\xd2\x82\xcc Guido van Rossum \x82\xcd\x8b\xb3\x88\xe7\x97p\x82\xcc\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x81uABC\x81v\x82\xcc\x8aJ\x94\xad\x82\xc9\x8eQ\x89\xc1\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb5\x82\xbd\x82\xaa\x81AABC \x82\xcd\x8e\xc0\x97p\x8f\xe3\x82\xcc\x96\xda\x93I\x82\xc9\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x93K\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x82\xc5\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xbd\x82\xdf\x81AGuido \x82\xcd\x82\xe6\x82\xe8\x8e\xc0\x97p\x93I\x82\xc8\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x82\xcc\x8aJ\x94\xad\x82\xf0\x8aJ\x8en\x82\xb5\x81A\x89p\x8d\x91 BBS \x95\xfa\x91\x97\x82\xcc\x83R\x83\x81\x83f\x83B\x94\xd4\x91g\x81u\x83\x82\x83\x93\x83e\x83B \x83p\x83C\x83\\\x83\x93\x81v\x82\xcc\x83t\x83@\x83\x93\x82\xc5\x82\xa0\x82\xe9 Guido \x82\xcd\x82\xb1\x82\xcc\x8c\xbe\x8c\xea\x82\xf0\x81uPython\x81v\x82\xc6\x96\xbc\x82\xc3\x82\xaf\x82\xdc\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xe6\x82\xa4\x82\xc8\x94w\x8ci\x82\xa9\x82\xe7\x90\xb6\x82\xdc\x82\xea\x82\xbd Python \x82\xcc\x8c\xbe\x8c\xea\x90\xdd\x8cv\x82\xcd\x81A\x81u\x83V\x83\x93\x83v\x83\x8b\x81v\x82\xc5\x81u\x8fK\x93\xbe\x82\xaa\x97e\x88\xd5\x81v\x82\xc6\x82\xa2\x82\xa4\x96\xda\x95W\x82\xc9\x8fd\x93_\x82\xaa\x92u\x82\xa9\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x91\xbd\x82\xad\x82\xcc\x83X\x83N\x83\x8a\x83v\x83g\x8cn\x8c\xbe\x8c\xea\x82\xc5\x82\xcd\x83\x86\x81[\x83U\x82\xcc\x96\xda\x90\xe6\x82\xcc\x97\x98\x95\xd6\x90\xab\x82\xf0\x97D\x90\xe6\x82\xb5\x82\xc4\x90F\x81X\x82\xc8\x8b@\x94\\\x82\xf0\x8c\xbe\x8c\xea\x97v\x91f\x82\xc6\x82\xb5\x82\xc4\x8e\xe6\x82\xe8\x93\xfc\x82\xea\x82\xe9\x8f\xea\x8d\x87\x82\xaa\x91\xbd\x82\xa2\x82\xcc\x82\xc5\x82\xb7\x82\xaa\x81APython \x82\xc5\x82\xcd\x82\xbb\x82\xa4\x82\xa2\x82\xc1\x82\xbd\x8f\xac\x8d\xd7\x8dH\x82\xaa\x92\xc7\x89\xc1\x82\xb3\x82\xea\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x82\xa0\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B\n\x8c\xbe\x8c\xea\x8e\xa9\x91\xcc\x82\xcc\x8b@\x94\\\x82\xcd\x8d\xc5\x8f\xac\x8c\xc0\x82\xc9\x89\x9f\x82\xb3\x82\xa6\x81A\x95K\x97v\x82\xc8\x8b@\x94\\\x82\xcd\x8ag\x92\xa3\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xc6\x82\xb5\x82\xc4\x92\xc7\x89\xc1\x82\xb7\x82\xe9\x81A\x82\xc6\x82\xa2\x82\xa4\x82\xcc\x82\xaa Python \x82\xcc\x83|\x83\x8a\x83V\x81[\x82\xc5\x82\xb7\x81B\n\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n')
xmlcharnametest = ('«ℜ» = 〈ሴ〉', b'\x85G&real;\x85Q = &lang;&#4660;&rang;')
class test.test_codecencodings_jp.Test_SJIS_COMPAT(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\x82\x84', 'strict', None), (b'abc\xf8', 'strict', None), (b'abc\x80\x80\x82\x84def', 'ignore', 'abcddef'), (b'abc\x80\x80\x82\x84', 'replace', 'abc��d'), (b'abc\x80\x80\x82\x84\x88', 'replace', 'abc��d�'), (b'\\~', 'strict', '\\~'), (b'\x81_\x81a\x81|', 'strict', '\‖−'), (b'abc\x819', 'replace', 'abc�9'), (b'abc\xea\xfc', 'replace', 'abc��'), (b'abc\xffX', 'replace', 'abc�X'))
encoding = 'shift_jis'
tstring = (b'Python \x82\xcc\x8aJ\x94\xad\x82\xcd\x81A1990 \x94N\x82\xb2\x82\xeb\x82\xa9\x82\xe7\x8aJ\x8en\x82\xb3\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x8aJ\x94\xad\x8e\xd2\x82\xcc Guido van Rossum \x82\xcd\x8b\xb3\x88\xe7\x97p\x82\xcc\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x81uABC\x81v\x82\xcc\x8aJ\x94\xad\x82\xc9\x8eQ\x89\xc1\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb5\x82\xbd\x82\xaa\x81AABC \x82\xcd\x8e\xc0\x97p\x8f\xe3\x82\xcc\x96\xda\x93I\x82\xc9\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x93K\x82\xb5\x82\xc4\x82\xa2\x82\xdc\x82\xb9\x82\xf1\x82\xc5\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xbd\x82\xdf\x81AGuido \x82\xcd\x82\xe6\x82\xe8\x8e\xc0\x97p\x93I\x82\xc8\x83v\x83\x8d\x83O\x83\x89\x83~\x83\x93\x83O\x8c\xbe\x8c\xea\x82\xcc\x8aJ\x94\xad\x82\xf0\x8aJ\x8en\x82\xb5\x81A\x89p\x8d\x91 BBS \x95\xfa\x91\x97\x82\xcc\x83R\x83\x81\x83f\x83B\x94\xd4\x91g\x81u\x83\x82\x83\x93\x83e\x83B \x83p\x83C\x83\\\x83\x93\x81v\x82\xcc\x83t\x83@\x83\x93\x82\xc5\x82\xa0\x82\xe9 Guido \x82\xcd\x82\xb1\x82\xcc\x8c\xbe\x8c\xea\x82\xf0\x81uPython\x81v\x82\xc6\x96\xbc\x82\xc3\x82\xaf\x82\xdc\x82\xb5\x82\xbd\x81B\n\x82\xb1\x82\xcc\x82\xe6\x82\xa4\x82\xc8\x94w\x8ci\x82\xa9\x82\xe7\x90\xb6\x82\xdc\x82\xea\x82\xbd Python \x82\xcc\x8c\xbe\x8c\xea\x90\xdd\x8cv\x82\xcd\x81A\x81u\x83V\x83\x93\x83v\x83\x8b\x81v\x82\xc5\x81u\x8fK\x93\xbe\x82\xaa\x97e\x88\xd5\x81v\x82\xc6\x82\xa2\x82\xa4\x96\xda\x95W\x82\xc9\x8fd\x93_\x82\xaa\x92u\x82\xa9\x82\xea\x82\xc4\x82\xa2\x82\xdc\x82\xb7\x81B\n\x91\xbd\x82\xad\x82\xcc\x83X\x83N\x83\x8a\x83v\x83g\x8cn\x8c\xbe\x8c\xea\x82\xc5\x82\xcd\x83\x86\x81[\x83U\x82\xcc\x96\xda\x90\xe6\x82\xcc\x97\x98\x95\xd6\x90\xab\x82\xf0\x97D\x90\xe6\x82\xb5\x82\xc4\x90F\x81X\x82\xc8\x8b@\x94\\\x82\xf0\x8c\xbe\x8c\xea\x97v\x91f\x82\xc6\x82\xb5\x82\xc4\x8e\xe6\x82\xe8\x93\xfc\x82\xea\x82\xe9\x8f\xea\x8d\x87\x82\xaa\x91\xbd\x82\xa2\x82\xcc\x82\xc5\x82\xb7\x82\xaa\x81APython \x82\xc5\x82\xcd\x82\xbb\x82\xa4\x82\xa2\x82\xc1\x82\xbd\x8f\xac\x8d\xd7\x8dH\x82\xaa\x92\xc7\x89\xc1\x82\xb3\x82\xea\x82\xe9\x82\xb1\x82\xc6\x82\xcd\x82\xa0\x82\xdc\x82\xe8\x82\xa0\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B\n\x8c\xbe\x8c\xea\x8e\xa9\x91\xcc\x82\xcc\x8b@\x94\\\x82\xcd\x8d\xc5\x8f\xac\x8c\xc0\x82\xc9\x89\x9f\x82\xb3\x82\xa6\x81A\x95K\x97v\x82\xc8\x8b@\x94\\\x82\xcd\x8ag\x92\xa3\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xc6\x82\xb5\x82\xc4\x92\xc7\x89\xc1\x82\xb7\x82\xe9\x81A\x82\xc6\x82\xa2\x82\xa4\x82\xcc\x82\xaa Python \x82\xcc\x83|\x83\x8a\x83V\x81[\x82\xc5\x82\xb7\x81B\n\n', b'Python \xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xaf\xe3\x80\x811990 \xe5\xb9\xb4\xe3\x81\x94\xe3\x82\x8d\xe3\x81\x8b\xe3\x82\x89\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe9\x96\x8b\xe7\x99\xba\xe8\x80\x85\xe3\x81\xae Guido van Rossum \xe3\x81\xaf\xe6\x95\x99\xe8\x82\xb2\xe7\x94\xa8\xe3\x81\xae\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x80\x8cABC\xe3\x80\x8d\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x81\xab\xe5\x8f\x82\xe5\x8a\xa0\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x81\x8c\xe3\x80\x81ABC \xe3\x81\xaf\xe5\xae\x9f\xe7\x94\xa8\xe4\xb8\x8a\xe3\x81\xae\xe7\x9b\xae\xe7\x9a\x84\xe3\x81\xab\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe9\x81\xa9\xe3\x81\x97\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x81\xa7\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x81\x9f\xe3\x82\x81\xe3\x80\x81Guido \xe3\x81\xaf\xe3\x82\x88\xe3\x82\x8a\xe5\xae\x9f\xe7\x94\xa8\xe7\x9a\x84\xe3\x81\xaa\xe3\x83\x97\xe3\x83\xad\xe3\x82\xb0\xe3\x83\xa9\xe3\x83\x9f\xe3\x83\xb3\xe3\x82\xb0\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xae\xe9\x96\x8b\xe7\x99\xba\xe3\x82\x92\xe9\x96\x8b\xe5\xa7\x8b\xe3\x81\x97\xe3\x80\x81\xe8\x8b\xb1\xe5\x9b\xbd BBS \xe6\x94\xbe\xe9\x80\x81\xe3\x81\xae\xe3\x82\xb3\xe3\x83\xa1\xe3\x83\x87\xe3\x82\xa3\xe7\x95\xaa\xe7\xb5\x84\xe3\x80\x8c\xe3\x83\xa2\xe3\x83\xb3\xe3\x83\x86\xe3\x82\xa3 \xe3\x83\x91\xe3\x82\xa4\xe3\x82\xbd\xe3\x83\xb3\xe3\x80\x8d\xe3\x81\xae\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xb3\xe3\x81\xa7\xe3\x81\x82\xe3\x82\x8b Guido \xe3\x81\xaf\xe3\x81\x93\xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe3\x82\x92\xe3\x80\x8cPython\xe3\x80\x8d\xe3\x81\xa8\xe5\x90\x8d\xe3\x81\xa5\xe3\x81\x91\xe3\x81\xbe\xe3\x81\x97\xe3\x81\x9f\xe3\x80\x82\n\xe3\x81\x93\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe8\x83\x8c\xe6\x99\xaf\xe3\x81\x8b\xe3\x82\x89\xe7\x94\x9f\xe3\x81\xbe\xe3\x82\x8c\xe3\x81\x9f Python \xe3\x81\xae\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa8\xad\xe8\xa8\x88\xe3\x81\xaf\xe3\x80\x81\xe3\x80\x8c\xe3\x82\xb7\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab\xe3\x80\x8d\xe3\x81\xa7\xe3\x80\x8c\xe7\xbf\x92\xe5\xbe\x97\xe3\x81\x8c\xe5\xae\xb9\xe6\x98\x93\xe3\x80\x8d\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe7\x9b\xae\xe6\xa8\x99\xe3\x81\xab\xe9\x87\x8d\xe7\x82\xb9\xe3\x81\x8c\xe7\xbd\xae\xe3\x81\x8b\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82\n\xe5\xa4\x9a\xe3\x81\x8f\xe3\x81\xae\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xaa\xe3\x83\x97\xe3\x83\x88\xe7\xb3\xbb\xe8\xa8\x80\xe8\xaa\x9e\xe3\x81\xa7\xe3\x81\xaf\xe3\x83\xa6\xe3\x83\xbc\xe3\x82\xb6\xe3\x81\xae\xe7\x9b\xae\xe5\x85\x88\xe3\x81\xae\xe5\x88\xa9\xe4\xbe\xbf\xe6\x80\xa7\xe3\x82\x92\xe5\x84\xaa\xe5\x85\x88\xe3\x81\x97\xe3\x81\xa6\xe8\x89\xb2\xe3\x80\x85\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x82\x92\xe8\xa8\x80\xe8\xaa\x9e\xe8\xa6\x81\xe7\xb4\xa0\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe5\x8f\x96\xe3\x82\x8a\xe5\x85\xa5\xe3\x82\x8c\xe3\x82\x8b\xe5\xa0\xb4\xe5\x90\x88\xe3\x81\x8c\xe5\xa4\x9a\xe3\x81\x84\xe3\x81\xae\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81Python \xe3\x81\xa7\xe3\x81\xaf\xe3\x81\x9d\xe3\x81\x86\xe3\x81\x84\xe3\x81\xa3\xe3\x81\x9f\xe5\xb0\x8f\xe7\xb4\xb0\xe5\xb7\xa5\xe3\x81\x8c\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x95\xe3\x82\x8c\xe3\x82\x8b\xe3\x81\x93\xe3\x81\xa8\xe3\x81\xaf\xe3\x81\x82\xe3\x81\xbe\xe3\x82\x8a\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\n\xe8\xa8\x80\xe8\xaa\x9e\xe8\x87\xaa\xe4\xbd\x93\xe3\x81\xae\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x9c\x80\xe5\xb0\x8f\xe9\x99\x90\xe3\x81\xab\xe6\x8a\xbc\xe3\x81\x95\xe3\x81\x88\xe3\x80\x81\xe5\xbf\x85\xe8\xa6\x81\xe3\x81\xaa\xe6\xa9\x9f\xe8\x83\xbd\xe3\x81\xaf\xe6\x8b\xa1\xe5\xbc\xb5\xe3\x83\xa2\xe3\x82\xb8\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\xab\xe3\x81\xa8\xe3\x81\x97\xe3\x81\xa6\xe8\xbf\xbd\xe5\x8a\xa0\xe3\x81\x99\xe3\x82\x8b\xe3\x80\x81\xe3\x81\xa8\xe3\x81\x84\xe3\x81\x86\xe3\x81\xae\xe3\x81\x8c Python \xe3\x81\xae\xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\n\n')
test.test_codecencodings_jp.test_main()[source]

test.test_codecencodings_kr module

class test.test_codecencodings_kr.Test_CP949(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��좔'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��좔�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc좔'))
encoding = 'cp949'
tstring = (b'\x8cc\xb9\xe6\xb0\xa2\xc7\xcf \xbc\x84\xbd\xc3\xc4\xdd\xb6\xf3\n\n\xa8\xc0\xa8\xc0\xb3\xb3!! \xec\xd7\xce\xfa\xea\xc5\xc6\xd0\x92\xe6\x90p\xb1\xc5 \xa8\xde\xa8\xd3\xc4R\xa2\xaf\xa2\xaf\xa2\xaf \xb1\xe0\x8a\x96 \xa8\xd1\xb5\xb3 \xa8\xc0. .\n\xe4\xac\xbf\xb5\xa8\xd1\xb4\xc9\xc8\xc2 . . . . \xbc\xad\xbf\xef\xb7\xef \xb5\xaf\xc7\xd0\xeb\xe0 \xca\xab\xc4R ! ! !\xa4\xd0.\xa4\xd0\n\xc8\xe5\xc8\xe5\xc8\xe5 \xa4\xa1\xa4\xa1\xa4\xa1\xa1\xd9\xa4\xd0_\xa4\xd0 \xbe\xee\x90\x8a \xc5\xcb\xc4\xe2\x83O \xb5\xae\xc0\xc0 \xafh\xce\xfa\xb5\xe9\xeb\xe0 \xa8\xc0\xb5\xe5\x83O\n\xbc\xb3\x90j \xca\xab\xc4R . . . . \xb1\xbc\xbe\xd6\x9af \xa8\xd1\xb1\xc5 \xa8\xde\x90t\xa8\xc2\x83O \xec\xd7\xec\xd2\xf4\xb9\xe5\xfc\xf1\xe9\xb1\xee\xa3\x8e\n\xbf\xcd\xbe\xac\xc4R ! ! \xe4\xac\xbf\xb5\xa8\xd1 \xca\xab\xb4\xc9\xb1\xc5 \xa1\xd9\xdf\xbe\xb0\xfc \xbe\xf8\xb4\xc9\xb1\xc5\xb4\xc9 \xe4\xac\xb4\xc9\xb5\xd8\xc4R \xb1\xdb\xbe\xd6\x8a\xdb\n\xa8\xde\xb7\xc1\xb5\xe0\xce\xfa \x9a\xc3\xc7\xb4\xbd\xa4\xc4R \xbe\xee\x90\x8a \xec\xd7\xec\xd2\xf4\xb9\xe5\xfc\xf1\xe9\x9a\xc4\xa8\xef\xb5\xe9\x9d\xda!! \xa8\xc0\xa8\xc0\xb3\xb3\xa2\xbd \xa1\xd2\xa1\xd2*\n\n', b'\xeb\x98\xa0\xeb\xb0\xa9\xea\xb0\x81\xed\x95\x98 \xed\x8e\xb2\xec\x8b\x9c\xec\xbd\x9c\xeb\x9d\xbc\n\n\xe3\x89\xaf\xe3\x89\xaf\xeb\x82\xa9!! \xe5\x9b\xa0\xe4\xb9\x9d\xe6\x9c\x88\xed\x8c\xa8\xeb\xaf\xa4\xeb\xa6\x94\xea\xb6\x88 \xe2\x93\xa1\xe2\x93\x96\xed\x9b\x80\xc2\xbf\xc2\xbf\xc2\xbf \xea\xb8\x8d\xeb\x92\x99 \xe2\x93\x94\xeb\x8e\xa8 \xe3\x89\xaf. .\n\xe4\xba\x9e\xec\x98\x81\xe2\x93\x94\xeb\x8a\xa5\xed\x9a\xb9 . . . . \xec\x84\x9c\xec\x9a\xb8\xeb\xa4\x84 \xeb\x8e\x90\xed\x95\x99\xe4\xb9\x99 \xe5\xae\xb6\xed\x9b\x80 ! ! !\xe3\x85\xa0.\xe3\x85\xa0\n\xed\x9d\x90\xed\x9d\x90\xed\x9d\x90 \xe3\x84\xb1\xe3\x84\xb1\xe3\x84\xb1\xe2\x98\x86\xe3\x85\xa0_\xe3\x85\xa0 \xec\x96\xb4\xeb\xa6\xa8 \xed\x83\xb8\xec\xbd\xb0\xea\xb8\x90 \xeb\x8e\x8c\xec\x9d\x91 \xec\xb9\x91\xe4\xb9\x9d\xeb\x93\xa4\xe4\xb9\x99 \xe3\x89\xaf\xeb\x93\x9c\xea\xb8\x90\n\xec\x84\xa4\xeb\xa6\x8c \xe5\xae\xb6\xed\x9b\x80 . . . . \xea\xb5\xb4\xec\x95\xa0\xec\x89\x8c \xe2\x93\x94\xea\xb6\x88 \xe2\x93\xa1\xeb\xa6\x98\xe3\x89\xb1\xea\xb8\x90 \xe5\x9b\xa0\xe4\xbb\x81\xe5\xb7\x9d\xef\xa6\x81\xe4\xb8\xad\xea\xb9\x8c\xec\xa6\xbc\n\xec\x99\x80\xec\x92\x80\xed\x9b\x80 ! ! \xe4\xba\x9e\xec\x98\x81\xe2\x93\x94 \xe5\xae\xb6\xeb\x8a\xa5\xea\xb6\x88 \xe2\x98\x86\xe4\xb8\x8a\xea\xb4\x80 \xec\x97\x86\xeb\x8a\xa5\xea\xb6\x88\xeb\x8a\xa5 \xe4\xba\x9e\xeb\x8a\xa5\xeb\x92\x88\xed\x9b\x80 \xea\xb8\x80\xec\x95\xa0\xeb\x93\xb4\n\xe2\x93\xa1\xeb\xa0\xa4\xeb\x93\x80\xe4\xb9\x9d \xec\x8b\x80\xed\x92\x94\xec\x88\xb4\xed\x9b\x80 \xec\x96\xb4\xeb\xa6\xa8 \xe5\x9b\xa0\xe4\xbb\x81\xe5\xb7\x9d\xef\xa6\x81\xe4\xb8\xad\xec\x8b\x81\xe2\x91\xa8\xeb\x93\xa4\xec\x95\x9c!! \xe3\x89\xaf\xe3\x89\xaf\xeb\x82\xa9\xe2\x99\xa1 \xe2\x8c\x92\xe2\x8c\x92*\n\n')
class test.test_codecencodings_kr.Test_EUCKR(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��좔'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��좔�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc좔'), (b'\xa4\xd4', 'strict', None), (b'\xa4\xd4\xa4', 'strict', None), (b'\xa4\xd4\xa4\xb6', 'strict', None), (b'\xa4\xd4\xa4\xb6\xa4', 'strict', None), (b'\xa4\xd4\xa4\xb6\xa4\xd0', 'strict', None), (b'\xa4\xd4\xa4\xb6\xa4\xd0\xa4', 'strict', None), (b'\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4', 'strict', '쓔'), (b'\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4x', 'strict', '쓔x'), (b'a\xa4\xd4\xa4\xb6\xa4', 'replace', 'a�'), (b'\xa4\xd4\xa3\xb6\xa4\xd0\xa4\xd4', 'strict', None), (b'\xa4\xd4\xa4\xb6\xa3\xd0\xa4\xd4', 'strict', None), (b'\xa4\xd4\xa4\xb6\xa4\xd0\xa3\xd4', 'strict', None), (b'\xa4\xd4\xa4\xff\xa4\xd0\xa4\xd4', 'replace', '�渡�ㅠ�'), (b'\xa4\xd4\xa4\xb6\xa4\xff\xa4\xd4', 'replace', '�渡땄��'), (b'\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xff', 'replace', '�渡땄圭�'), (b'\xa4\xd4\xff\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4', 'replace', '���쓔'), (b'\xc1\xc4', 'strict', '좔'))
encoding = 'euc_kr'
tstring = (b'\xa1\xdd \xc6\xc4\xc0\xcc\xbd\xe3(Python)\xc0\xba \xb9\xe8\xbf\xec\xb1\xe2 \xbd\xb1\xb0\xed, \xb0\xad\xb7\xc2\xc7\xd1 \xc7\xc1\xb7\xce\xb1\xd7\xb7\xa1\xb9\xd6 \xbe\xf0\xbe\xee\xc0\xd4\xb4\xcf\xb4\xd9. \xc6\xc4\xc0\xcc\xbd\xe3\xc0\xba\n\xc8\xbf\xc0\xb2\xc0\xfb\xc0\xce \xb0\xed\xbc\xf6\xc1\xd8 \xb5\xa5\xc0\xcc\xc5\xcd \xb1\xb8\xc1\xb6\xbf\xcd \xb0\xa3\xb4\xdc\xc7\xcf\xc1\xf6\xb8\xb8 \xc8\xbf\xc0\xb2\xc0\xfb\xc0\xce \xb0\xb4\xc3\xbc\xc1\xf6\xc7\xe2\xc7\xc1\xb7\xce\xb1\xd7\xb7\xa1\xb9\xd6\xc0\xbb\n\xc1\xf6\xbf\xf8\xc7\xd5\xb4\xcf\xb4\xd9. \xc6\xc4\xc0\xcc\xbd\xe3\xc0\xc7 \xbf\xec\xbe\xc6(\xe9\xd0\xe4\xba)\xc7\xd1 \xb9\xae\xb9\xfd\xb0\xfa \xb5\xbf\xc0\xfb \xc5\xb8\xc0\xcc\xc7\xce, \xb1\xd7\xb8\xae\xb0\xed \xc0\xce\xc5\xcd\xc7\xc1\xb8\xae\xc6\xc3\n\xc8\xaf\xb0\xe6\xc0\xba \xc6\xc4\xc0\xcc\xbd\xe3\xc0\xbb \xbd\xba\xc5\xa9\xb8\xb3\xc6\xc3\xb0\xfa \xbf\xa9\xb7\xaf \xba\xd0\xbe\xdf\xbf\xa1\xbc\xad\xbf\xcd \xb4\xeb\xba\xce\xba\xd0\xc0\xc7 \xc7\xc3\xb7\xa7\xc6\xfb\xbf\xa1\xbc\xad\xc0\xc7 \xba\xfc\xb8\xa5\n\xbe\xd6\xc7\xc3\xb8\xae\xc4\xc9\xc0\xcc\xbc\xc7 \xb0\xb3\xb9\xdf\xc0\xbb \xc7\xd2 \xbc\xf6 \xc0\xd6\xb4\xc2 \xc0\xcc\xbb\xf3\xc0\xfb\xc0\xce \xbe\xf0\xbe\xee\xb7\xce \xb8\xb8\xb5\xe9\xbe\xee\xc1\xdd\xb4\xcf\xb4\xd9.\n\n\xa1\xd9\xc3\xb9\xb0\xa1\xb3\xa1: \xb3\xaf\xbe\xc6\xb6\xf3 \xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4\xa4\xd4\xa4\xb6\xa4\xd0\xa4\xd4\xbe\xb1~ \xa4\xd4\xa4\xa4\xa4\xd2\xa4\xb7\xc5\xad! \xa4\xd4\xa4\xa8\xa4\xd1\xa4\xb7\xb1\xdd\xbe\xf8\xc0\xcc \xc0\xfc\xa4\xd4\xa4\xbe\xa4\xc8\xa4\xb2\xb4\xcf\xb4\xd9. \xa4\xd4\xa4\xb2\xa4\xce\xa4\xaa. \xb1\xd7\xb7\xb1\xb0\xc5 \xa4\xd4\xa4\xb7\xa4\xd1\xa4\xb4\xb4\xd9.\n', b'\xe2\x97\x8e \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac(Python)\xec\x9d\x80 \xeb\xb0\xb0\xec\x9a\xb0\xea\xb8\xb0 \xec\x89\xbd\xea\xb3\xa0, \xea\xb0\x95\xeb\xa0\xa5\xed\x95\x9c \xed\x94\x84\xeb\xa1\x9c\xea\xb7\xb8\xeb\x9e\x98\xeb\xb0\x8d \xec\x96\xb8\xec\x96\xb4\xec\x9e\x85\xeb\x8b\x88\xeb\x8b\xa4. \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x80\n\xed\x9a\xa8\xec\x9c\xa8\xec\xa0\x81\xec\x9d\xb8 \xea\xb3\xa0\xec\x88\x98\xec\xa4\x80 \xeb\x8d\xb0\xec\x9d\xb4\xed\x84\xb0 \xea\xb5\xac\xec\xa1\xb0\xec\x99\x80 \xea\xb0\x84\xeb\x8b\xa8\xed\x95\x98\xec\xa7\x80\xeb\xa7\x8c \xed\x9a\xa8\xec\x9c\xa8\xec\xa0\x81\xec\x9d\xb8 \xea\xb0\x9d\xec\xb2\xb4\xec\xa7\x80\xed\x96\xa5\xed\x94\x84\xeb\xa1\x9c\xea\xb7\xb8\xeb\x9e\x98\xeb\xb0\x8d\xec\x9d\x84\n\xec\xa7\x80\xec\x9b\x90\xed\x95\xa9\xeb\x8b\x88\xeb\x8b\xa4. \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x98 \xec\x9a\xb0\xec\x95\x84(\xe5\x84\xaa\xe9\x9b\x85)\xed\x95\x9c \xeb\xac\xb8\xeb\xb2\x95\xea\xb3\xbc \xeb\x8f\x99\xec\xa0\x81 \xed\x83\x80\xec\x9d\xb4\xed\x95\x91, \xea\xb7\xb8\xeb\xa6\xac\xea\xb3\xa0 \xec\x9d\xb8\xed\x84\xb0\xed\x94\x84\xeb\xa6\xac\xed\x8c\x85\n\xed\x99\x98\xea\xb2\xbd\xec\x9d\x80 \xed\x8c\x8c\xec\x9d\xb4\xec\x8d\xac\xec\x9d\x84 \xec\x8a\xa4\xed\x81\xac\xeb\xa6\xbd\xed\x8c\x85\xea\xb3\xbc \xec\x97\xac\xeb\x9f\xac \xeb\xb6\x84\xec\x95\xbc\xec\x97\x90\xec\x84\x9c\xec\x99\x80 \xeb\x8c\x80\xeb\xb6\x80\xeb\xb6\x84\xec\x9d\x98 \xed\x94\x8c\xeb\x9e\xab\xed\x8f\xbc\xec\x97\x90\xec\x84\x9c\xec\x9d\x98 \xeb\xb9\xa0\xeb\xa5\xb8\n\xec\x95\xa0\xed\x94\x8c\xeb\xa6\xac\xec\xbc\x80\xec\x9d\xb4\xec\x85\x98 \xea\xb0\x9c\xeb\xb0\x9c\xec\x9d\x84 \xed\x95\xa0 \xec\x88\x98 \xec\x9e\x88\xeb\x8a\x94 \xec\x9d\xb4\xec\x83\x81\xec\xa0\x81\xec\x9d\xb8 \xec\x96\xb8\xec\x96\xb4\xeb\xa1\x9c \xeb\xa7\x8c\xeb\x93\xa4\xec\x96\xb4\xec\xa4\x8d\xeb\x8b\x88\xeb\x8b\xa4.\n\n\xe2\x98\x86\xec\xb2\xab\xea\xb0\x80\xeb\x81\x9d: \xeb\x82\xa0\xec\x95\x84\xeb\x9d\xbc \xec\x93\x94\xec\x93\x94\xec\x93\xa9~ \xeb\x8b\x81\xed\x81\xbc! \xeb\x9c\xbd\xea\xb8\x88\xec\x97\x86\xec\x9d\xb4 \xec\xa0\x84\xed\x99\xa5\xeb\x8b\x88\xeb\x8b\xa4. \xeb\xb7\x81. \xea\xb7\xb8\xeb\x9f\xb0\xea\xb1\xb0 \xec\x9d\x8e\xeb\x8b\xa4.\n')
class test.test_codecencodings_kr.Test_JOHAB(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��촧'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��촧�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc촧'), (b'\xd8abc', 'replace', '�abc'), (b'\xd8\xffabc', 'replace', '��abc'), (b'\x84bxy', 'replace', '�bxy'), (b'\x8cBxy', 'replace', '�Bxy'))
encoding = 'johab'
tstring = (b'\x99\xb1\xa4w\x88b\xd0a \xcd\\\xaf\xa1\xc5\xa9\x9ca\n\n\xdc\xc0\xdc\xc0\x90s!! \xf1g\xe2\x9c\xf0U\xcc\x81\xa3\x89\x9f\x85\x8a\xa1 \xdc\xde\xdc\xd3\xd2z\xd9\xaf\xd9\xaf\xd9\xaf \x8bw\x96\xd3 \xdc\xd1\x95\x81 \xdc\xc0. .\n\xed<\xb5w\xdc\xd1\x93w\xd2s . . . . \xac\xe1\xb6\x89\x9e\xa1 \x95e\xd0b\xf0\xe0 \xe0;\xd2z ! ! !\x87A.\x87A\n\xd3a\xd3a\xd3a \x88A\x88A\x88A\xd9i\x87A_\x87A \xb4\xe1\x9f\x9a \xc8\xa1\xc5\xc1\x8bz \x95a\xb7w \xc3\x97\xe2\x9c\x97i\xf0\xe0 \xdc\xc0\x97a\x8bz\n\xac\xe9\x9fz \xe0;\xd2z . . . . \x8a\x89\xb4\x81\xae\xba \xdc\xd1\x8a\xa1 \xdc\xde\x9f\x89\xdc\xc2\x8bz \xf1g\xf1b\xf5I\xed\xfc\xf3\xe9\x8ca\xbb\x9a\n\xb5\xc1\xb2\xa1\xd2z ! ! \xed<\xb5w\xdc\xd1 \xe0;\x93w\x8a\xa1 \xd9i\xea\xbe\x89\xc5 \xb4\xf4\x93w\x8a\xa1\x93w \xed<\x93w\x96\xc1\xd2z \x8bi\xb4\x81\x97z\n\xdc\xde\x9da\x97A\xe2\x9c \xaf\x81\xce\xa1\xae\xa1\xd2z \xb4\xe1\x9f\x9a \xf1g\xf1b\xf5I\xed\xfc\xf3\xe9\xaf\x82\xdc\xef\x97i\xb4z!! \xdc\xc0\xdc\xc0\x90s\xd9\xbd \xd9b\xd9b*\n\n', b'\xeb\x98\xa0\xeb\xb0\xa9\xea\xb0\x81\xed\x95\x98 \xed\x8e\xb2\xec\x8b\x9c\xec\xbd\x9c\xeb\x9d\xbc\n\n\xe3\x89\xaf\xe3\x89\xaf\xeb\x82\xa9!! \xe5\x9b\xa0\xe4\xb9\x9d\xe6\x9c\x88\xed\x8c\xa8\xeb\xaf\xa4\xeb\xa6\x94\xea\xb6\x88 \xe2\x93\xa1\xe2\x93\x96\xed\x9b\x80\xc2\xbf\xc2\xbf\xc2\xbf \xea\xb8\x8d\xeb\x92\x99 \xe2\x93\x94\xeb\x8e\xa8 \xe3\x89\xaf. .\n\xe4\xba\x9e\xec\x98\x81\xe2\x93\x94\xeb\x8a\xa5\xed\x9a\xb9 . . . . \xec\x84\x9c\xec\x9a\xb8\xeb\xa4\x84 \xeb\x8e\x90\xed\x95\x99\xe4\xb9\x99 \xe5\xae\xb6\xed\x9b\x80 ! ! !\xe3\x85\xa0.\xe3\x85\xa0\n\xed\x9d\x90\xed\x9d\x90\xed\x9d\x90 \xe3\x84\xb1\xe3\x84\xb1\xe3\x84\xb1\xe2\x98\x86\xe3\x85\xa0_\xe3\x85\xa0 \xec\x96\xb4\xeb\xa6\xa8 \xed\x83\xb8\xec\xbd\xb0\xea\xb8\x90 \xeb\x8e\x8c\xec\x9d\x91 \xec\xb9\x91\xe4\xb9\x9d\xeb\x93\xa4\xe4\xb9\x99 \xe3\x89\xaf\xeb\x93\x9c\xea\xb8\x90\n\xec\x84\xa4\xeb\xa6\x8c \xe5\xae\xb6\xed\x9b\x80 . . . . \xea\xb5\xb4\xec\x95\xa0\xec\x89\x8c \xe2\x93\x94\xea\xb6\x88 \xe2\x93\xa1\xeb\xa6\x98\xe3\x89\xb1\xea\xb8\x90 \xe5\x9b\xa0\xe4\xbb\x81\xe5\xb7\x9d\xef\xa6\x81\xe4\xb8\xad\xea\xb9\x8c\xec\xa6\xbc\n\xec\x99\x80\xec\x92\x80\xed\x9b\x80 ! ! \xe4\xba\x9e\xec\x98\x81\xe2\x93\x94 \xe5\xae\xb6\xeb\x8a\xa5\xea\xb6\x88 \xe2\x98\x86\xe4\xb8\x8a\xea\xb4\x80 \xec\x97\x86\xeb\x8a\xa5\xea\xb6\x88\xeb\x8a\xa5 \xe4\xba\x9e\xeb\x8a\xa5\xeb\x92\x88\xed\x9b\x80 \xea\xb8\x80\xec\x95\xa0\xeb\x93\xb4\n\xe2\x93\xa1\xeb\xa0\xa4\xeb\x93\x80\xe4\xb9\x9d \xec\x8b\x80\xed\x92\x94\xec\x88\xb4\xed\x9b\x80 \xec\x96\xb4\xeb\xa6\xa8 \xe5\x9b\xa0\xe4\xbb\x81\xe5\xb7\x9d\xef\xa6\x81\xe4\xb8\xad\xec\x8b\x81\xe2\x91\xa8\xeb\x93\xa4\xec\x95\x9c!! \xe3\x89\xaf\xe3\x89\xaf\xeb\x82\xa9\xe2\x99\xa1 \xe2\x8c\x92\xe2\x8c\x92*\n\n')
test.test_codecencodings_kr.test_main()[source]

test.test_codecencodings_tw module

class test.test_codecencodings_tw.Test_Big5(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase, unittest.case.TestCase

codectests = ((b'abc\x80\x80\xc1\xc4', 'strict', None), (b'abc\xc8', 'strict', None), (b'abc\x80\x80\xc1\xc4', 'replace', 'abc��謐'), (b'abc\x80\x80\xc1\xc4\xc8', 'replace', 'abc��謐�'), (b'abc\x80\x80\xc1\xc4', 'ignore', 'abc謐'))
encoding = 'big5'
tstring = (b'\xa6p\xa6\xf3\xa6b Python \xa4\xa4\xa8\xcf\xa5\xce\xacJ\xa6\xb3\xaa\xba C library?\n\xa1@\xa6b\xb8\xea\xb0T\xac\xec\xa7\xde\xa7\xd6\xb3t\xb5o\xaei\xaa\xba\xa4\xb5\xa4\xd1, \xb6}\xb5o\xa4\xce\xb4\xfa\xb8\xd5\xb3n\xc5\xe9\xaa\xba\xb3t\xab\xd7\xacO\xa4\xa3\xaee\xa9\xbf\xb5\xf8\xaa\xba\n\xbd\xd2\xc3D. \xac\xb0\xa5[\xa7\xd6\xb6}\xb5o\xa4\xce\xb4\xfa\xb8\xd5\xaa\xba\xb3t\xab\xd7, \xa7\xda\xad\xcc\xabK\xb1`\xa7\xc6\xb1\xe6\xaf\xe0\xa7Q\xa5\xce\xa4@\xa8\xc7\xa4w\xb6}\xb5o\xa6n\xaa\xba\nlibrary, \xa8\xc3\xa6\xb3\xa4@\xad\xd3 fast prototyping \xaa\xba programming language \xa5i\n\xa8\xd1\xa8\xcf\xa5\xce. \xa5\xd8\xabe\xa6\xb3\xb3\\\xb3\\\xa6h\xa6h\xaa\xba library \xacO\xa5H C \xbcg\xa6\xa8, \xa6\xd3 Python \xacO\xa4@\xad\xd3\nfast prototyping \xaa\xba programming language. \xacG\xa7\xda\xad\xcc\xa7\xc6\xb1\xe6\xaf\xe0\xb1N\xacJ\xa6\xb3\xaa\xba\nC library \xae\xb3\xa8\xec Python \xaa\xba\xc0\xf4\xb9\xd2\xa4\xa4\xb4\xfa\xb8\xd5\xa4\xce\xbe\xe3\xa6X. \xa8\xe4\xa4\xa4\xb3\xcc\xa5D\xadn\xa4]\xacO\xa7\xda\xad\xcc\xa9\xd2\n\xadn\xb0Q\xbd\xd7\xaa\xba\xb0\xdd\xc3D\xb4N\xacO:\n\n', b'\xe5\xa6\x82\xe4\xbd\x95\xe5\x9c\xa8 Python \xe4\xb8\xad\xe4\xbd\xbf\xe7\x94\xa8\xe6\x97\xa2\xe6\x9c\x89\xe7\x9a\x84 C library?\n\xe3\x80\x80\xe5\x9c\xa8\xe8\xb3\x87\xe8\xa8\x8a\xe7\xa7\x91\xe6\x8a\x80\xe5\xbf\xab\xe9\x80\x9f\xe7\x99\xbc\xe5\xb1\x95\xe7\x9a\x84\xe4\xbb\x8a\xe5\xa4\xa9, \xe9\x96\x8b\xe7\x99\xbc\xe5\x8f\x8a\xe6\xb8\xac\xe8\xa9\xa6\xe8\xbb\x9f\xe9\xab\x94\xe7\x9a\x84\xe9\x80\x9f\xe5\xba\xa6\xe6\x98\xaf\xe4\xb8\x8d\xe5\xae\xb9\xe5\xbf\xbd\xe8\xa6\x96\xe7\x9a\x84\n\xe8\xaa\xb2\xe9\xa1\x8c. \xe7\x82\xba\xe5\x8a\xa0\xe5\xbf\xab\xe9\x96\x8b\xe7\x99\xbc\xe5\x8f\x8a\xe6\xb8\xac\xe8\xa9\xa6\xe7\x9a\x84\xe9\x80\x9f\xe5\xba\xa6, \xe6\x88\x91\xe5\x80\x91\xe4\xbe\xbf\xe5\xb8\xb8\xe5\xb8\x8c\xe6\x9c\x9b\xe8\x83\xbd\xe5\x88\xa9\xe7\x94\xa8\xe4\xb8\x80\xe4\xba\x9b\xe5\xb7\xb2\xe9\x96\x8b\xe7\x99\xbc\xe5\xa5\xbd\xe7\x9a\x84\nlibrary, \xe4\xb8\xa6\xe6\x9c\x89\xe4\xb8\x80\xe5\x80\x8b fast prototyping \xe7\x9a\x84 programming language \xe5\x8f\xaf\n\xe4\xbe\x9b\xe4\xbd\xbf\xe7\x94\xa8. \xe7\x9b\xae\xe5\x89\x8d\xe6\x9c\x89\xe8\xa8\xb1\xe8\xa8\xb1\xe5\xa4\x9a\xe5\xa4\x9a\xe7\x9a\x84 library \xe6\x98\xaf\xe4\xbb\xa5 C \xe5\xaf\xab\xe6\x88\x90, \xe8\x80\x8c Python \xe6\x98\xaf\xe4\xb8\x80\xe5\x80\x8b\nfast prototyping \xe7\x9a\x84 programming language. \xe6\x95\x85\xe6\x88\x91\xe5\x80\x91\xe5\xb8\x8c\xe6\x9c\x9b\xe8\x83\xbd\xe5\xb0\x87\xe6\x97\xa2\xe6\x9c\x89\xe7\x9a\x84\nC library \xe6\x8b\xbf\xe5\x88\xb0 Python \xe7\x9a\x84\xe7\x92\xb0\xe5\xa2\x83\xe4\xb8\xad\xe6\xb8\xac\xe8\xa9\xa6\xe5\x8f\x8a\xe6\x95\xb4\xe5\x90\x88. \xe5\x85\xb6\xe4\xb8\xad\xe6\x9c\x80\xe4\xb8\xbb\xe8\xa6\x81\xe4\xb9\x9f\xe6\x98\xaf\xe6\x88\x91\xe5\x80\x91\xe6\x89\x80\n\xe8\xa6\x81\xe8\xa8\x8e\xe8\xab\x96\xe7\x9a\x84\xe5\x95\x8f\xe9\xa1\x8c\xe5\xb0\xb1\xe6\x98\xaf:\n\n')
test.test_codecencodings_tw.test_main()[source]

test.test_codecmaps_cn module

class test.test_codecmaps_cn.TestGB18030Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'gb18030'
mapfileurl = 'http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml'
class test.test_codecmaps_cn.TestGB2312Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'gb2312'
mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-CN.TXT'
class test.test_codecmaps_cn.TestGBKMap(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'gbk'
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT'

test.test_codecmaps_hk module

class test.test_codecmaps_hk.TestBig5HKSCSMap(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'big5hkscs'
mapfileurl = 'http://people.freebsd.org/~perky/i18n/BIG5HKSCS-2004.TXT'

test.test_codecmaps_jp module

class test.test_codecmaps_jp.TestCP932Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'cp932'
i = 223
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT'
supmaps = [(b'\x80', '\x80'), (b'\xa0', '\uf8f0'), (b'\xfd', '\uf8f1'), (b'\xfe', '\uf8f2'), (b'\xff', '\uf8f3'), (b'\xa1', '。'), (b'\xa2', '「'), (b'\xa3', '」'), (b'\xa4', '、'), (b'\xa5', '・'), (b'\xa6', 'ヲ'), (b'\xa7', 'ァ'), (b'\xa8', 'ィ'), (b'\xa9', 'ゥ'), (b'\xaa', 'ェ'), (b'\xab', 'ォ'), (b'\xac', 'ャ'), (b'\xad', 'ュ'), (b'\xae', 'ョ'), (b'\xaf', 'ッ'), (b'\xb0', 'ー'), (b'\xb1', 'ア'), (b'\xb2', 'イ'), (b'\xb3', 'ウ'), (b'\xb4', 'エ'), (b'\xb5', 'オ'), (b'\xb6', 'カ'), (b'\xb7', 'キ'), (b'\xb8', 'ク'), (b'\xb9', 'ケ'), (b'\xba', 'コ'), (b'\xbb', 'サ'), (b'\xbc', 'シ'), (b'\xbd', 'ス'), (b'\xbe', 'セ'), (b'\xbf', 'ソ'), (b'\xc0', 'タ'), (b'\xc1', 'チ'), (b'\xc2', 'ツ'), (b'\xc3', 'テ'), (b'\xc4', 'ト'), (b'\xc5', 'ナ'), (b'\xc6', 'ニ'), (b'\xc7', 'ヌ'), (b'\xc8', 'ネ'), (b'\xc9', 'ノ'), (b'\xca', 'ハ'), (b'\xcb', 'ヒ'), (b'\xcc', 'フ'), (b'\xcd', 'ヘ'), (b'\xce', 'ホ'), (b'\xcf', 'マ'), (b'\xd0', 'ミ'), (b'\xd1', 'ム'), (b'\xd2', 'メ'), (b'\xd3', 'モ'), (b'\xd4', 'ヤ'), (b'\xd5', 'ユ'), (b'\xd6', 'ヨ'), (b'\xd7', 'ラ'), (b'\xd8', 'リ'), (b'\xd9', 'ル'), (b'\xda', 'レ'), (b'\xdb', 'ロ'), (b'\xdc', 'ワ'), (b'\xdd', 'ン'), (b'\xde', '゙'), (b'\xdf', '゚')]
class test.test_codecmaps_jp.TestEUCJISX0213Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'euc_jisx0213'
mapfilename = 'EUC-JISX0213.TXT'
mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JISX0213.TXT'
class test.test_codecmaps_jp.TestEUCJPCOMPATMap(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'euc_jp'
mapfilename = 'EUC-JP.TXT'
mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-JP.TXT'
class test.test_codecmaps_jp.TestSJISCOMPATMap(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'shift_jis'
mapfilename = 'SHIFTJIS.TXT'
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/SHIFTJIS.TXT'
pass_dectest = [(b'\\', '¥'), (b'~', '‾'), (b'\x81_', '\\')]
pass_enctest = [(b'\x81_', '\\')]
class test.test_codecmaps_jp.TestSJISX0213Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'shift_jisx0213'
mapfilename = 'SHIFT_JISX0213.TXT'
mapfileurl = 'http://people.freebsd.org/~perky/i18n/SHIFT_JISX0213.TXT'

test.test_codecmaps_kr module

class test.test_codecmaps_kr.TestCP949Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'cp949'
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT'
class test.test_codecmaps_kr.TestEUCKRMap(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'euc_kr'
mapfileurl = 'http://people.freebsd.org/~perky/i18n/EUC-KR.TXT'
pass_dectest = [(b'\xa4\xd4', 'ㅤ')]
pass_enctest = [(b'\xa4\xd4', 'ㅤ')]
class test.test_codecmaps_kr.TestJOHABMap(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'johab'
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT'
pass_dectest = [(b'\\', '₩')]
pass_enctest = [(b'\\', '₩')]

test.test_codecmaps_tw module

class test.test_codecmaps_tw.TestBIG5Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

encoding = 'big5'
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT'
class test.test_codecmaps_tw.TestCP950Map(methodName='runTest')[source]

Bases: test.multibytecodec_support.TestBase_Mapping, unittest.case.TestCase

codectests = ((b'\xffxy', 'replace', '�xy'),)
encoding = 'cp950'
mapfileurl = 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT'
pass_enctest = [(b'\xa2\xcc', '十'), (b'\xa2\xce', '卅')]

test.test_codecs module

class test.test_codecs.BasicUnicodeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_codecs.MixInCheckStateHandling

test_bad_decode_args()[source]
test_bad_encode_args()[source]
test_basics()[source]
test_basics_capi()[source]
test_decoder_state()[source]
test_encoding_map_type_initialized()[source]
test_seek()[source]
class test.test_codecs.BomTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_seek0()[source]
class test.test_codecs.CP65001Test(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'cp65001'
test_decode()[source]
test_encode()[source]
test_lone_surrogates()[source]
test_readline()[source]
test_surrogatepass_handler()[source]
class test.test_codecs.CharmapTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode_with_int2int_map()[source]
test_decode_with_int2str_map()[source]
test_decode_with_string_map()[source]
class test.test_codecs.CodePageTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

CP_UTF8 = 65001
check_decode(cp, tests)[source]
check_encode(cp, tests)[source]
test_code_page_name()[source]
test_cp1252()[source]
test_cp932()[source]
test_cp_utf7()[source]
test_incremental()[source]
test_invalid_code_page()[source]
test_multibyte_encoding()[source]
class test.test_codecs.CodecsModuleTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode()[source]
test_encode()[source]
test_getdecoder()[source]
test_getencoder()[source]
test_getreader()[source]
test_getwriter()[source]
test_lookup()[source]
test_lookup_issue1813()[source]
test_register()[source]
class test.test_codecs.EncodedFileTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
class test.test_codecs.EscapeDecodeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_empty()[source]
test_errors()[source]
test_escape()[source]
test_raw()[source]
class test.test_codecs.ExceptionChainingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertWrapped(operation, exc_type, msg)[source]
check_not_wrapped(obj_to_raise, msg)[source]
check_wrapped(obj_to_raise, msg, exc_type=<class 'RuntimeError'>)[source]
raise_obj(*args, **kwds)[source]
setUp()[source]
set_codec(encode, decode)[source]
tearDown()[source]
test_codec_lookup_failure_not_wrapped()[source]
test_init_override_is_not_wrapped()[source]
test_instance_attribute_is_not_wrapped()[source]
test_multiple_args_is_not_wrapped()[source]
test_new_override_is_not_wrapped()[source]
test_non_str_arg_is_not_wrapped()[source]
test_raise_by_type()[source]
test_raise_by_value()[source]
test_raise_grandchild_subclass_exact_size()[source]
test_raise_subclass_with_weakref_support()[source]
test_unflagged_non_text_codec_handling()[source]
class test.test_codecs.IDNACodecTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtin_decode()[source]
test_builtin_encode()[source]
test_incremental_decode()[source]
test_incremental_encode()[source]
test_stream()[source]
class test.test_codecs.MixInCheckStateHandling[source]

Bases: object

check_state_handling_decode(encoding, u, s)[source]
check_state_handling_encode(encoding, u, s)[source]
class test.test_codecs.NameprepTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_nameprep()[source]
class test.test_codecs.PunycodeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode()[source]
test_encode()[source]
class test.test_codecs.Queue(buffer)[source]

Bases: object

queue: write bytes at one end, read bytes from the other end

read(size=-1)[source]
write(chars)[source]
class test.test_codecs.RawUnicodeEscapeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode_errors()[source]
test_empty()[source]
test_escape_decode()[source]
test_escape_encode()[source]
test_raw_decode()[source]
test_raw_encode()[source]
class test.test_codecs.ReadBufferTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_array()[source]
test_bad_args()[source]
test_empty()[source]
class test.test_codecs.ReadTest[source]

Bases: test.test_codecs.MixInCheckStateHandling

check_partial(input, partialresults)[source]
ill_formed_sequence_replace = '�'
test_bug1098990_a()[source]
test_bug1098990_b()[source]
test_bug1175396()[source]
test_lone_surrogates()[source]
test_mixed_readline_and_read()[source]
test_readline()[source]
test_readlinequeue()[source]
class test.test_codecs.RecodingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_recoding()[source]
class test.test_codecs.StreamReaderTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_readlines()[source]
class test.test_codecs.SurrogateEscapeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_ascii()[source]
test_charmap()[source]
test_latin1()[source]
test_utf8()[source]
class test.test_codecs.TransformCodecTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_aliases()[source]
test_basics()[source]
test_binary_to_text_blacklists_binary_transforms()[source]
test_binary_to_text_blacklists_text_transforms()[source]
test_buffer_api_usage()[source]
test_custom_hex_error_is_wrapped()[source]
test_custom_zlib_error_is_wrapped()[source]
test_read()[source]
test_readline()[source]
test_text_to_binary_blacklists_binary_transforms()[source]
test_text_to_binary_blacklists_text_transforms()[source]
class test.test_codecs.TypesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode_unicode()[source]
test_unicode_escape()[source]
class test.test_codecs.UTF16BETest(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-16-be'
ill_formed_sequence = b'\xdc\x80'
test_errors()[source]
test_nonbmp()[source]
test_partial()[source]
class test.test_codecs.UTF16ExTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_args()[source]
test_errors()[source]
class test.test_codecs.UTF16LETest(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-16-le'
ill_formed_sequence = b'\x80\xdc'
test_errors()[source]
test_nonbmp()[source]
test_partial()[source]
class test.test_codecs.UTF16Test(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-16'
ill_formed_sequence = b'\x80\xdc'
spambe = b'\xfe\xff\x00s\x00p\x00a\x00m\x00s\x00p\x00a\x00m'
spamle = b'\xff\xfes\x00p\x00a\x00m\x00s\x00p\x00a\x00m\x00'
test_badbom()[source]
test_bug691291()[source]
test_decoder_state()[source]
test_errors()[source]
test_handlers()[source]
test_only_one_bom()[source]
test_partial()[source]
class test.test_codecs.UTF32BETest(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-32-be'
ill_formed_sequence = b'\x00\x00\xdc\x80'
test_errors()[source]
test_issue8941()[source]
test_partial()[source]
test_simple()[source]
class test.test_codecs.UTF32LETest(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-32-le'
ill_formed_sequence = b'\x80\xdc\x00\x00'
test_errors()[source]
test_issue8941()[source]
test_partial()[source]
test_simple()[source]
class test.test_codecs.UTF32Test(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-32'
ill_formed_sequence = b'\x80\xdc\x00\x00'
spambe = b'\x00\x00\xfe\xff\x00\x00\x00s\x00\x00\x00p\x00\x00\x00a\x00\x00\x00m\x00\x00\x00s\x00\x00\x00p\x00\x00\x00a\x00\x00\x00m'
spamle = b'\xff\xfe\x00\x00s\x00\x00\x00p\x00\x00\x00a\x00\x00\x00m\x00\x00\x00s\x00\x00\x00p\x00\x00\x00a\x00\x00\x00m\x00\x00\x00'
test_badbom()[source]
test_decoder_state()[source]
test_errors()[source]
test_handlers()[source]
test_issue8941()[source]
test_only_one_bom()[source]
test_partial()[source]
class test.test_codecs.UTF7Test(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-7'
test_errors()[source]
test_lone_surrogates = None
test_nonbmp()[source]
test_partial()[source]
class test.test_codecs.UTF8SigTest(methodName='runTest')[source]

Bases: test.test_codecs.UTF8Test, unittest.case.TestCase

encoding = 'utf-8-sig'
test_bom()[source]
test_bug1601501()[source]
test_partial()[source]
test_stream_bare()[source]
test_stream_bom()[source]
class test.test_codecs.UTF8Test(methodName='runTest')[source]

Bases: test.test_codecs.ReadTest, unittest.case.TestCase

encoding = 'utf-8'
ill_formed_sequence = b'\xed\xb2\x80'
ill_formed_sequence_replace = '���'
test_decoder_state()[source]
test_lone_surrogates()[source]
test_partial()[source]
test_surrogatepass_handler()[source]
class test.test_codecs.UnicodeEscapeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode_errors()[source]
test_empty()[source]
test_escape_decode()[source]
test_escape_encode()[source]
test_raw_decode()[source]
test_raw_encode()[source]
class test.test_codecs.UnicodeInternalTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug1251300()[source]
test_decode_callback()[source]
test_decode_error_attributes()[source]
test_encode_length()[source]
class test.test_codecs.WithStmtTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_encodedfile()[source]
test_streamreaderwriter()[source]
test.test_codecs.coding_checker(self, coder)[source]

test.test_codeop module

Test cases for codeop.py Nick Mathewson

class test.test_codeop.CodeopTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertIncomplete(str, symbol='single')[source]

succeed iff str is the start of a valid piece of code

assertInvalid(str, symbol='single', is_syntax=1)[source]

succeed iff str is the start of an invalid piece of code

assertValid(str, symbol='single')[source]

succeed iff str is a valid piece of code

test_filename()[source]
test_incomplete()[source]
test_invalid()[source]
test_valid()[source]
test.test_codeop.test_main()[source]

test.test_collections module

Unit tests for collections.py.

class test.test_collections.ABCTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

validate_abstract_methods(abc, *names)[source]
validate_comparison(instance)[source]
validate_isinstance(abc, name)[source]
class test.test_collections.CounterSubclassWithGet(*args, **kwds)[source]

Bases: collections.Counter

get(key, default)[source]
class test.test_collections.CounterSubclassWithSetItem(*args, **kwds)[source]

Bases: collections.Counter

class test.test_collections.GeneralMappingTests(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

test_popitem()[source]
type2test

alias of OrderedDict

class test.test_collections.MyOrderedDict(*args, **kwds)[source]

Bases: collections.OrderedDict

class test.test_collections.SubclassMappingTests(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

test_popitem()[source]
type2test

alias of MyOrderedDict

class test.test_collections.TestChainMap(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basics()[source]
test_bool()[source]
test_contructor()[source]
test_dict_coercion()[source]
test_missing()[source]
test_new_child()[source]

Tests for changes for issue #16613.

class test.test_collections.TestCollectionABCs(methodName='runTest')[source]

Bases: test.test_collections.ABCTestCase

assertSameSet(s1, s2)[source]
test_ByteString()[source]
test_Mapping()[source]
test_MutableMapping()[source]
test_MutableMapping_subclass()[source]
test_MutableSequence()[source]
test_MutableSequence_mixins()[source]
test_MutableSet()[source]
test_Sequence()[source]
test_Set()[source]
test_Set_interoperability_with_real_sets()[source]
test_hash_Set()[source]
test_issue16373()[source]
test_issue8750()[source]
test_issue_4920()[source]
test_issue_5647()[source]
class test.test_collections.TestCounter(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basics()[source]
test_conversions()[source]
test_copy_subclass()[source]
test_copying()[source]
test_helper_function()[source]
test_inplace_operations()[source]
test_invariant_for_the_in_operator()[source]
test_multiset_operations()[source]
test_repr_nonsortable()[source]
test_subtract()[source]
test_unary()[source]
class test.test_collections.TestNT(x, y, z)

Bases: tuple

x

Alias for field number 0

y

Alias for field number 1

z

Alias for field number 2

class test.test_collections.TestNamedTuple(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_copy()[source]
test_factory()[source]
test_factory_doc_attr()[source]
test_instance()[source]
test_name_conflicts()[source]
test_name_fixer()[source]
test_odd_sizes()[source]
test_pickle()[source]
test_repr()[source]
test_source()[source]
test_tupleness()[source]
class test.test_collections.TestOneTrickPonyABCs(methodName='runTest')[source]

Bases: test.test_collections.ABCTestCase

test_Callable()[source]
test_Container()[source]
test_Hashable()[source]
test_Iterable()[source]
test_Iterator()[source]
test_Sized()[source]
test_direct_subclassing()[source]
test_registration()[source]
class test.test_collections.TestOrderedDict(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_abc()[source]
test_clear()[source]
test_copying()[source]
test_delitem()[source]
test_equality()[source]
test_init()[source]
test_iterators()[source]
test_move_to_end()[source]
test_override_update()[source]
test_pickle_recursive()[source]
test_pop()[source]
test_popitem()[source]
test_reduce_not_too_fat()[source]
test_reinsert()[source]
test_repr()[source]
test_repr_recursive()[source]
test_setdefault()[source]
test_setitem()[source]
test_sizeof()[source]
test_update()[source]
test_yaml_linkage()[source]
class test.test_collections.WithSet(it=())[source]

Bases: collections.abc.MutableSet

add(item)[source]
discard(item)[source]
test.test_collections.test_main(verbose=None)[source]

test.test_colorsys module

class test.test_colorsys.ColorsysTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertTripleEqual(tr1, tr2)[source]
test_hls_roundtrip()[source]
test_hls_values()[source]
test_hsv_roundtrip()[source]
test_hsv_values()[source]
test_yiq_roundtrip()[source]
test_yiq_values()[source]
test.test_colorsys.frange(start, stop, step)[source]

test.test_compare module

class test.test_compare.Anything[source]

Bases: object

class test.test_compare.Cmp(arg)[source]

Bases: object

class test.test_compare.ComparisonTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

candidates = [2, 2.0, 2, (2+0j), <Cmp 2.0>, [1], (3,), None, <Empty>]
set1 = [2, 2.0, 2, (2+0j), <Cmp 2.0>]
set2 = [[1], (3,), None, <Empty>]
test_comparisons()[source]
test_id_comparisons()[source]
test_issue_1393()[source]
test_ne_defaults_to_not_eq()[source]
class test.test_compare.Empty[source]

Bases: object

test.test_compare.test_main()[source]

test.test_compile module

class test.test_compile.TestSpecifics(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertInvalidSingle(source)[source]
compile_single(source)[source]
test_annotation_limit()[source]
test_argument_handling()[source]
test_argument_order()[source]
test_bad_single_statement()[source]
test_compile_ast()[source]
test_compiler_recursion_limit()[source]
test_debug_assignment()[source]
test_duplicate_global_local()[source]
test_empty()[source]
test_encoding()[source]
test_exec_with_general_mapping_for_locals()[source]
test_extended_arg()[source]
test_float_literals()[source]
test_for_distinct_code_objects()[source]
test_import()[source]
test_indentation()[source]
test_lambda_doc()[source]
test_leading_newlines()[source]
test_literals_with_leading_zeroes()[source]
test_mangling()[source]
test_no_ending_newline()[source]
test_none_assignment()[source]
test_none_keyword_arg()[source]
test_other_newlines()[source]
test_same_filename_used()[source]
test_sequence_unpacking_error()[source]
test_single_statement()[source]
test_subscripts()[source]
test_syntax_error()[source]
test_unary_minus()[source]
class test.test_compile.TestStackSize(methodName='runTest')[source]

Bases: unittest.case.TestCase

N = 100
check_stack_size(code)[source]
test_and()[source]
test_and_or()[source]
test_binop()[source]
test_chained_comparison()[source]
test_func_and()[source]
test_if_else()[source]
test_or()[source]

test.test_compileall module

class test.test_compileall.CommandLineTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test compileall’s CLI.

assertCompiled(fn)[source]
assertNotCompiled(fn)[source]
assertRunNotOK(*args, **env_vars)[source]
assertRunOK(*args, **env_vars)[source]
ext = 'pyo'
f(ext='pyo', switch=['-OO'])[source]
name = 'doubleoptimize'
setUp()[source]
switch = ['-OO']
test_compiles_as_much_as_possible()[source]
test_d_compile_error()[source]
test_d_runtime_error()[source]
test_d_takes_exactly_one_dir()[source]
test_force()[source]
test_include_bad_file()[source]
test_include_file_no_arg()[source]
test_include_file_with_arg()[source]
test_include_on_stdin()[source]
test_invalid_arg_produces_message()[source]
test_legacy_paths()[source]
test_multiple_dirs()[source]
test_multiple_runs()[source]
test_no_args_compiles_path()[source]
test_no_args_respects_force_flag()[source]
test_no_args_respects_quiet_flag()[source]
test_pep3147_paths_doubleoptimize(ext='pyo', switch=['-OO'])
test_pep3147_paths_normal(ext='pyc', switch=[])
test_pep3147_paths_optimize(ext='pyo', switch=['-O'])
test_quiet()[source]
test_recursion_control()[source]
test_regexp()[source]
class test.test_compileall.CompileallTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

data()[source]
recreation_check(metadata)[source]

Check that compileall recreates bytecode when the new metadata is used.

setUp()[source]
tearDown()[source]
test_compile_files()[source]
test_magic_number()[source]
test_mtime()[source]
test_no_pycache_in_non_package()[source]
test_optimize()[source]
class test.test_compileall.EncodingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Issue 6716: compileall should escape source code when printing errors to stdout.

setUp()[source]
tearDown()[source]
test_error()[source]

test.test_complex module

class test.test_complex.ComplexTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertAlmostEqual(a, b)[source]
assertClose(x, y, eps=1e-09)[source]

Return true iff complexes x and y “are close”

assertCloseAbs(x, y, eps=1e-09)[source]

Return true iff floats x and y “are close”

assertFloatsAreIdentical(x, y)[source]

assert that floats x and y are identical, in the sense that: (1) both x and y are nans, or (2) both x and y are infinities, with the same sign, or (3) both x and y are zeros, with the same sign, or (4) x and y are both finite and nonzero, and x == y

check_div(x, y)[source]

Compute complex z=x*y, and check that z/x==y and z/y==x.

test_abs()[source]
test_boolcontext()[source]
test_conjugate()[source]
test_constructor()[source]
test_divmod()[source]
test_file()[source]
test_floordiv()[source]
test_format()[source]
test_getnewargs()[source]
test_hash()[source]
test_mod()[source]
test_neg()[source]
test_negated_imaginary_literal()[source]
test_negative_zero_repr_str()[source]
test_overflow()[source]
test_plus_minus_0j()[source]
test_pow()[source]
test_repr_roundtrip()[source]
test_repr_str()[source]
test_richcompare()[source]
test_richcompare_boundaries()[source]
test_truediv()[source]
test.test_complex.random() → x in the interval [0, 1).
test.test_complex.test_main()[source]

test.test_concurrent_futures module

class test.test_concurrent_futures.AsCompletedTests[source]

Bases: object

test_duplicate_futures()[source]
test_no_timeout()[source]
test_zero_timeout()[source]
class test.test_concurrent_futures.ExecutorMixin[source]

Bases: object

setUp()[source]
tearDown()[source]
worker_count = 5
class test.test_concurrent_futures.ExecutorShutdownTest[source]

Bases: object

test_hang_issue12364()[source]
test_interpreter_shutdown()[source]
test_run_after_shutdown()[source]
class test.test_concurrent_futures.ExecutorTest[source]

Bases: object

test_map()[source]
test_map_exception()[source]
test_map_timeout()[source]
test_no_stale_references()[source]
test_shutdown_race_issue12456()[source]
test_submit()[source]
test_submit_keyword()[source]
class test.test_concurrent_futures.FutureTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cancel()[source]
test_cancelled()[source]
test_done()[source]
test_done_callback_already_cancelled()[source]
test_done_callback_already_failed()[source]
test_done_callback_already_successful()[source]
test_done_callback_raises()[source]
test_done_callback_with_cancel()[source]
test_done_callback_with_exception()[source]
test_done_callback_with_result()[source]
test_exception_with_success()[source]
test_exception_with_timeout()[source]
test_repr()[source]
test_result_with_cancel()[source]
test_result_with_success()[source]
test_result_with_timeout()[source]
test_running()[source]
class test.test_concurrent_futures.MyObject[source]

Bases: object

my_method()[source]
class test.test_concurrent_futures.ProcessPoolAsCompletedTests(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ProcessPoolMixin, test.test_concurrent_futures.AsCompletedTests, unittest.case.TestCase

class test.test_concurrent_futures.ProcessPoolExecutorTest(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ProcessPoolMixin, test.test_concurrent_futures.ExecutorTest, unittest.case.TestCase

test_killed_child()[source]
class test.test_concurrent_futures.ProcessPoolMixin[source]

Bases: test.test_concurrent_futures.ExecutorMixin

executor_type

alias of ProcessPoolExecutor

class test.test_concurrent_futures.ProcessPoolShutdownTest(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ProcessPoolMixin, test.test_concurrent_futures.ExecutorShutdownTest, unittest.case.TestCase

test_context_manager_shutdown()[source]
test_del_shutdown()[source]
test_processes_terminate()[source]
class test.test_concurrent_futures.ProcessPoolWaitTests(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ProcessPoolMixin, test.test_concurrent_futures.WaitTests, unittest.case.TestCase

class test.test_concurrent_futures.ThreadPoolAsCompletedTests(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ThreadPoolMixin, test.test_concurrent_futures.AsCompletedTests, unittest.case.TestCase

class test.test_concurrent_futures.ThreadPoolExecutorTest(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ThreadPoolMixin, test.test_concurrent_futures.ExecutorTest, unittest.case.TestCase

test_map_submits_without_iteration()[source]

Tests verifying issue 11777.

class test.test_concurrent_futures.ThreadPoolMixin[source]

Bases: test.test_concurrent_futures.ExecutorMixin

executor_type

alias of ThreadPoolExecutor

class test.test_concurrent_futures.ThreadPoolShutdownTest(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ThreadPoolMixin, test.test_concurrent_futures.ExecutorShutdownTest, unittest.case.TestCase

test_context_manager_shutdown()[source]
test_del_shutdown()[source]
test_threads_terminate()[source]
class test.test_concurrent_futures.ThreadPoolWaitTests(methodName='runTest')[source]

Bases: test.test_concurrent_futures.ThreadPoolMixin, test.test_concurrent_futures.WaitTests, unittest.case.TestCase

test_pending_calls_race()[source]
class test.test_concurrent_futures.WaitTests[source]

Bases: object

test_all_completed()[source]
test_first_completed()[source]
test_first_completed_some_already_completed()[source]
test_first_exception()[source]
test_first_exception_one_already_failed()[source]
test_first_exception_some_already_complete()[source]
test_timeout()[source]
test.test_concurrent_futures.create_future(state='PENDING', exception=None, result=None)[source]
test.test_concurrent_futures.mul(x, y)[source]
test.test_concurrent_futures.sleep_and_print(t, msg)[source]
test.test_concurrent_futures.sleep_and_raise(t)[source]
test.test_concurrent_futures.test_main()[source]

test.test_configparser module

class test.test_configparser.BasicTestCase[source]

Bases: test.test_configparser.CfgParserTestCaseClass

basic_test(cf)[source]
check_items_config(expected)[source]
get_error(cf, exc, section, option)[source]
get_interpolation_config()[source]
parse_error(cf, exc, src)[source]
test_basic()[source]
test_basic_from_dict()[source]
test_boolean()[source]
test_case_sensitivity()[source]
test_case_sensitivity_mapping_access()[source]
test_clear()[source]
test_default_case_sensitivity()[source]
test_parse_errors()[source]
test_popitem()[source]
test_query_errors()[source]
test_read_returns_file_list()[source]
test_set_string_types()[source]
test_setitem()[source]
test_weird_errors()[source]
test_write()[source]
class test.test_configparser.CfgParserTestCaseClass[source]

Bases: object

allow_no_value = False
comment_prefixes = (';', '#')
default_section = 'DEFAULT'
delimiters = ('=', ':')
dict_type

alias of OrderedDict

empty_lines_in_values = True
fromstring(string, defaults=None)[source]
inline_comment_prefixes = (';', '#')
interpolation = <object object at 0x00160F40>
newconfig(defaults=None)[source]
strict = False
class test.test_configparser.CompatibleTestCase(methodName='runTest')[source]

Bases: test.test_configparser.CfgParserTestCaseClass, unittest.case.TestCase

comment_prefixes = '#;'
config_class

alias of RawConfigParser

inline_comment_prefixes = ';'
test_comment_handling()[source]
class test.test_configparser.ConfigParserTestCase(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

config_class

alias of ConfigParser

test_add_section_default()[source]
test_interpolation()[source]
test_interpolation_missing_value()[source]
test_items()[source]
test_safe_interpolation()[source]
test_set_malformatted_interpolation()[source]
test_set_nonstring_types()[source]
class test.test_configparser.ConfigParserTestCaseExtendedInterpolation(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

config_class

alias of ConfigParser

default_section = 'common'
fromstring(string, defaults=None, optionxform=None)[source]
interpolation = <configparser.ExtendedInterpolation object at 0x1BAC6910>
strict = True
test_case_sensitivity_basic()[source]
test_case_sensitivity_conflicts()[source]
test_endless_loop()[source]
test_extended_interpolation()[source]
test_other_errors()[source]
test_strange_options()[source]
class test.test_configparser.ConfigParserTestCaseLegacyInterpolation(methodName='runTest')[source]

Bases: test.test_configparser.ConfigParserTestCase

config_class

alias of ConfigParser

interpolation = <configparser.LegacyInterpolation object at 0x1BAC6890>
test_set_malformatted_interpolation()[source]
class test.test_configparser.ConfigParserTestCaseNoInterpolation(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

assertMatchesIni(cf)[source]
config_class

alias of ConfigParser

ini = '[numbers]\none = 1\ntwo = %(one)s * 2\nthree = ${common:one} * 3\n\n[hexen]\nsixteen = ${numbers:two} * 8'
interpolation = None
test_empty_case()[source]
test_no_interpolation()[source]
test_none_as_default_interpolation()[source]
class test.test_configparser.ConfigParserTestCaseNoValue(methodName='runTest')[source]

Bases: test.test_configparser.ConfigParserTestCase

allow_no_value = True
class test.test_configparser.ConfigParserTestCaseNonStandardDefaultSection(methodName='runTest')[source]

Bases: test.test_configparser.ConfigParserTestCase

default_section = 'general'
class test.test_configparser.ConfigParserTestCaseNonStandardDelimiters(methodName='runTest')[source]

Bases: test.test_configparser.ConfigParserTestCase

comment_prefixes = ('//', '"')
delimiters = (':=', '$')
inline_comment_prefixes = ('//', '"')
class test.test_configparser.ConfigParserTestCaseTrickyFile(methodName='runTest')[source]

Bases: test.test_configparser.CfgParserTestCaseClass, unittest.case.TestCase

allow_no_value = True
comment_prefixes = {'#'}
config_class

alias of ConfigParser

delimiters = {'='}
test_cfgparser_dot_3()[source]
test_unicode_failure()[source]
class test.test_configparser.CopyTestCase(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

config_class

alias of ConfigParser

fromstring(string, defaults=None)[source]
class test.test_configparser.CoverageOneHundredTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Covers edge cases in the codebase.

test_duplicate_option_error()[source]
test_interpolation_depth_error()[source]
test_interpolation_validation()[source]
test_parsing_error()[source]
test_readfp_deprecation()[source]
test_safeconfigparser_deprecation()[source]
test_sectionproxy_repr()[source]
class test.test_configparser.ExceptionPicklingTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for issue #13760: ConfigParser exceptions are not picklable.

test_duplicateoptionerror()[source]
test_duplicatesectionerror()[source]
test_error()[source]
test_interpolationdeptherror()[source]
test_interpolationerror()[source]
test_interpolationmissingoptionerror()[source]
test_interpolationsyntaxerror()[source]
test_missingsectionheadererror()[source]
test_nooptionerror()[source]
test_nosectionerror()[source]
test_parsingerror()[source]
class test.test_configparser.FakeFile[source]

Bases: object

readline()[source]
class test.test_configparser.InlineCommentStrippingTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for issue #14590: ConfigParser doesn’t strip inline comment when delimiter occurs earlier without preceding space..

test_stripping()[source]
class test.test_configparser.Issue7005TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test output when None is set() as a value and allow_no_value == False.

http://bugs.python.org/issue7005

expected_output = '[section]\noption = None\n\n'
prepare(config_class)[source]
test_none_as_value_stringified()[source]
test_none_as_value_stringified_raw()[source]
class test.test_configparser.MultilineValuesTestCase(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

config_class

alias of ConfigParser

setUp()[source]
tearDown()[source]
test_dominating_multiline_values()[source]
wonderful_spam = "I'm\t\nhaving\t\nspam\t\nspam\t\nspam\t\nspam\t\nspam\t\nspam\t\nspam\t\nbeaked\t\nbeans\t\nspam\t\nspam\t\nspam\t\nand\t\nspam!"
class test.test_configparser.RawConfigParserTestCase(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

config_class

alias of RawConfigParser

test_interpolation()[source]
test_items()[source]
test_set_nonstring_types()[source]
class test.test_configparser.RawConfigParserTestCaseNonStandardDelimiters(methodName='runTest')[source]

Bases: test.test_configparser.RawConfigParserTestCase

comment_prefixes = ('//', '"')
delimiters = (':=', '$')
inline_comment_prefixes = ('//', '"')
class test.test_configparser.RawConfigParserTestSambaConf(methodName='runTest')[source]

Bases: test.test_configparser.CfgParserTestCaseClass, unittest.case.TestCase

comment_prefixes = ('#', ';', '----')
config_class

alias of RawConfigParser

empty_lines_in_values = False
inline_comment_prefixes = ('//',)
test_reading()[source]
class test.test_configparser.ReadFileTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_file()[source]
test_iterable()[source]
test_readline_generator()[source]

Issue #11670.

test_source_as_bytes()[source]

Issue #18260.

class test.test_configparser.SortedDict(dict=None, **kwargs)[source]

Bases: collections.UserDict

items()[source]
iteritems()[source]
iterkeys()[source]
itervalues()[source]
keys()[source]
values()[source]
class test.test_configparser.SortedTestCase(methodName='runTest')[source]

Bases: test.test_configparser.RawConfigParserTestCase

dict_type

alias of SortedDict

test_sorted()[source]
class test.test_configparser.StrictTestCase(methodName='runTest')[source]

Bases: test.test_configparser.BasicTestCase, unittest.case.TestCase

config_class

alias of RawConfigParser

strict = True
test.test_configparser.readline_generator(f)[source]

As advised in Doc/library/configparser.rst.

test.test_contains module

class test.test_contains.TestContains(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtin_sequence_types()[source]
test_common_tests()[source]
test_nonreflexive()[source]
class test.test_contains.base_set(el)[source]

Bases: object

class test.test_contains.myset(el)[source]

Bases: test.test_contains.base_set

class test.test_contains.seq(el)[source]

Bases: test.test_contains.base_set

test.test_contains.test_main()[source]

test.test_contextlib module

Unit tests for contextlib.py, and other context managers.

class test.test_contextlib.ClosingTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_closing()[source]
test_closing_error()[source]
test_instance_docs()[source]
class test.test_contextlib.ContextManagerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_contextmanager_attribs()[source]
test_contextmanager_doc_attrib()[source]
test_contextmanager_except()[source]
test_contextmanager_finally()[source]
test_contextmanager_no_reraise()[source]
test_contextmanager_plain()[source]
test_contextmanager_trap_yield_after_throw()[source]
test_instance_docstring_given_cm_docstring()[source]
class test.test_contextlib.FileContextTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

testWithOpen()[source]
class test.test_contextlib.LockContextTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

boilerPlate(lock, locked)[source]
testWithBoundedSemaphore()[source]
testWithCondition()[source]
testWithLock()[source]
testWithRLock()[source]
testWithSemaphore()[source]
class test.test_contextlib.TestContextDecorator(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_contextdecorator()[source]
test_contextdecorator_as_mixin()[source]
test_contextdecorator_with_exception()[source]
test_contextmanager_as_decorator()[source]
test_decorating_method()[source]
test_decorator()[source]
test_decorator_with_exception()[source]
test_instance_docs()[source]
test_typo_enter()[source]
test_typo_exit()[source]
class test.test_contextlib.TestExitStack(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_body_exception_suppress()[source]
test_callback()[source]
test_close()[source]
test_enter_context()[source]
test_excessive_nesting()[source]
test_exit_exception_chaining()[source]
test_exit_exception_chaining_reference()[source]
test_exit_exception_chaining_suppress()[source]
test_exit_exception_non_suppressing()[source]
test_exit_exception_with_correct_context()[source]
test_exit_exception_with_existing_context()[source]
test_exit_raise()[source]
test_exit_suppress()[source]
test_instance_bypass()[source]
test_instance_docs()[source]
test_no_resources()[source]
test_pop_all()[source]
test_push()[source]
class test.test_contextlib.TestRedirectStdout(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cm_is_reentrant()[source]
test_cm_is_reusable()[source]
test_enter_result_is_target()[source]
test_instance_docs()[source]
test_no_redirect_in_init()[source]
test_redirect_to_string_io()[source]
class test.test_contextlib.TestSuppress(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cm_is_reentrant()[source]
test_exact_exception()[source]
test_exception_hierarchy()[source]
test_instance_docs()[source]
test_multiple_exception_args()[source]
test_no_args()[source]
test_no_exception()[source]
test_no_result_from_enter()[source]
test_other_exception()[source]
class test.test_contextlib.mycontext[source]

Bases: contextlib.ContextDecorator

Example decoration-compatible context manager for testing

catch = False
exc = None
started = False

test.test_copy module

Unit tests for the copy module.

class test.test_copy.TestCopy(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_copy_atomic()[source]
test_copy_basic()[source]
test_copy_cant()[source]
test_copy_copy()[source]
test_copy_dict()[source]
test_copy_function()[source]
test_copy_inst_copy()[source]
test_copy_inst_getinitargs()[source]
test_copy_inst_getstate()[source]
test_copy_inst_getstate_setstate()[source]
test_copy_inst_setstate()[source]
test_copy_inst_vanilla()[source]
test_copy_list()[source]
test_copy_list_subclass()[source]
test_copy_reduce()[source]
test_copy_reduce_ex()[source]
test_copy_registry()[source]
test_copy_slots()[source]
test_copy_tuple()[source]
test_copy_tuple_subclass()[source]
test_copy_weakkeydict()[source]
test_copy_weakref()[source]
test_copy_weakvaluedict()[source]
test_deepcopy_atomic()[source]
test_deepcopy_basic()[source]
test_deepcopy_bound_method()[source]
test_deepcopy_cant()[source]
test_deepcopy_deepcopy()[source]
test_deepcopy_dict()[source]
test_deepcopy_dict_subclass()[source]
test_deepcopy_dont_memo_immutable()[source]
test_deepcopy_empty_tuple()[source]
test_deepcopy_function()[source]
test_deepcopy_inst_deepcopy()[source]
test_deepcopy_inst_getinitargs()[source]
test_deepcopy_inst_getstate()[source]
test_deepcopy_inst_getstate_setstate()[source]
test_deepcopy_inst_setstate()[source]
test_deepcopy_inst_vanilla()[source]
test_deepcopy_issubclass()[source]
test_deepcopy_keepalive()[source]
test_deepcopy_list()[source]
test_deepcopy_list_subclass()[source]
test_deepcopy_memo()[source]
test_deepcopy_reduce()[source]
test_deepcopy_reduce_ex()[source]
test_deepcopy_reflexive_dict()[source]
test_deepcopy_reflexive_inst()[source]
test_deepcopy_reflexive_list()[source]
test_deepcopy_reflexive_tuple()[source]
test_deepcopy_registry()[source]
test_deepcopy_slots()[source]
test_deepcopy_tuple()[source]
test_deepcopy_tuple_of_immutables()[source]
test_deepcopy_tuple_subclass()[source]
test_deepcopy_weakkeydict()[source]
test_deepcopy_weakref()[source]
test_deepcopy_weakvaluedict()[source]
test_exceptions()[source]
test_getstate_exc()[source]
test_reconstruct_nostate()[source]
test_reconstruct_reflexive()[source]
test_reconstruct_state()[source]
test_reconstruct_state_setstate()[source]
test_reconstruct_string()[source]
test_reduce_4tuple()[source]
test_reduce_5tuple()[source]
test.test_copy.global_foo(x, y)[source]
test.test_copy.test_main()[source]

test.test_copyreg module

class test.test_copyreg.C[source]

Bases: object

class test.test_copyreg.CopyRegTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bool()[source]
test_class()[source]
test_extension_registry()[source]
test_noncallable_constructor()[source]
test_noncallable_reduce()[source]
test_slotnames()[source]
class test.test_copyreg.WithInherited[source]

Bases: test.test_copyreg.WithSingleString

eggs
class test.test_copyreg.WithPrivate[source]

Bases: object

class test.test_copyreg.WithSingleString[source]

Bases: object

spam
class test.test_copyreg.WithWeakref[source]

Bases: object

class test.test_copyreg.WithoutSlots[source]

Bases: object

test.test_copyreg.test_main()[source]

test.test_cprofile module

Test suite for the cProfile module.

class test.test_cprofile.CProfileTest(methodName='runTest')[source]

Bases: test.test_profile.ProfileTest

expected_max_output = '{built-in method max}'
get_expected_output()[source]
profilerclass

alias of Profile

profilermodule = <module 'cProfile' from 'C:\\Python34\\lib\\cProfile.py'>
test_bad_counter_during_dealloc()[source]
test.test_cprofile.main()[source]
test.test_cprofile.test_main()[source]

test.test_crashers module

class test.test_crashers.CrasherTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_crashers_crash()[source]
test.test_crashers.test_main()[source]

test.test_crypt module

test.test_csv module

class test.test_csv.EscapedExcel[source]

Bases: csv.excel

escapechar = '\\'
quoting = 3
class test.test_csv.NUL[source]

Bases: object

write(s, *args)[source]
writelines(s, *args)
class test.test_csv.QuotedEscapedExcel[source]

Bases: csv.excel

escapechar = '\\'
quoting = 2
class test.test_csv.TestArrayWrites(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_char_write()[source]
test_double_write()[source]
test_float_write()[source]
test_int_write()[source]
class test.test_csv.TestCsvBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

readerAssertEqual(input, expected_result)[source]
writerAssertEqual(input, expected_result)[source]
class test.test_csv.TestDialectExcel(methodName='runTest')[source]

Bases: test.test_csv.TestCsvBase

dialect = 'excel'
test_blankline()[source]
test_dubious_quote()[source]
test_empty_fields()[source]
test_inline_quote()[source]
test_inline_quotes()[source]
test_lone_quote()[source]
test_newlines()[source]
test_null()[source]
test_quote_and_quote()[source]
test_quote_fieldsep()[source]
test_quoted()[source]
test_quoted_nl()[source]
test_quoted_quote()[source]
test_quoted_quotes()[source]
test_quotes()[source]
test_quotes_and_more()[source]
test_simple()[source]
test_simple_writer()[source]
test_single()[source]
test_single_quoted_quote()[source]
test_single_writer()[source]
test_singlequoted()[source]
test_singlequoted_left_empty()[source]
test_singlequoted_right_empty()[source]
test_space_and_quote()[source]
class test.test_csv.TestDialectRegistry(methodName='runTest')[source]

Bases: unittest.case.TestCase

compare_dialect_123(expected, *writeargs, **kwwriteargs)[source]
test_bad_dialect()[source]
test_dialect_apply()[source]
test_incomplete_dialect()[source]
test_register_kwargs()[source]
test_registry()[source]
test_registry_badargs()[source]
test_space_dialect()[source]
class test.test_csv.TestDialectUnix(methodName='runTest')[source]

Bases: test.test_csv.TestCsvBase

dialect = 'unix'
test_simple_reader()[source]
test_simple_writer()[source]
class test.test_csv.TestDialectValidity(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_delimiter()[source]
test_invalid_chars()[source]
test_lineterminator()[source]
test_quoting()[source]
class test.test_csv.TestDictFields(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_read_dict_fieldnames_chain()[source]
test_read_dict_fieldnames_from_file()[source]
test_read_dict_fields()[source]
test_read_dict_no_fieldnames()[source]
test_read_long()[source]
test_read_long_with_rest()[source]
test_read_long_with_rest_no_fieldnames()[source]
test_read_multi()[source]
test_read_semi_sep()[source]
test_read_short()[source]
test_read_with_blanks()[source]
test_write_fields_not_in_fieldnames()[source]
test_write_no_fields()[source]
test_write_simple_dict()[source]
class test.test_csv.TestEscapedExcel(methodName='runTest')[source]

Bases: test.test_csv.TestCsvBase

dialect = <test.test_csv.EscapedExcel object at 0x112CAA90>
test_escape_fieldsep()[source]
test_read_escape_fieldsep()[source]
class test.test_csv.TestLeaks(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_create_read()[source]
test_create_write()[source]
test_read()[source]
test_write()[source]
class test.test_csv.TestQuotedEscapedExcel(methodName='runTest')[source]

Bases: test.test_csv.TestCsvBase

dialect = <test.test_csv.QuotedEscapedExcel object at 0x1B9659D0>
test_read_escape_fieldsep()[source]
test_write_escape_fieldsep()[source]
class test.test_csv.TestSniffer(methodName='runTest')[source]

Bases: unittest.case.TestCase

header1 = '"venue","city","state","date","performers"\n'
header2 = '"venue"+"city"+"state"+"date"+"performers"\n'
sample1 = "Harry's, Arlington Heights, IL, 2/1/03, Kimi Hayes\nShark City, Glendale Heights, IL, 12/28/02, Prezence\nTommy's Place, Blue Island, IL, 12/28/02, Blue Sunday/White Crow\nStonecutters Seafood and Chop House, Lemont, IL, 12/19/02, Week Back\n"
sample2 = "'Harry''s':'Arlington Heights':'IL':'2/1/03':'Kimi Hayes'\n'Shark City':'Glendale Heights':'IL':'12/28/02':'Prezence'\n'Tommy''s Place':'Blue Island':'IL':'12/28/02':'Blue Sunday/White Crow'\n'Stonecutters ''Seafood'' and Chop House':'Lemont':'IL':'12/19/02':'Week Back'\n"
sample3 = '05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03\n05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03\n05/05/03?05/05/03?05/05/03?05/05/03?05/05/03?05/05/03\n'
sample4 = '2147483648;43.0e12;17;abc;def\n147483648;43.0e2;17;abc;def\n47483648;43.0;170;abc;def\n'
sample5 = 'aaa\tbbb\r\nAAA\t\r\nBBB\t\r\n'
sample6 = 'a|b|c\r\nd|e|f\r\n'
sample7 = "'a'|'b'|'c'\r\n'd'|e|f\r\n"
sample8 = "Harry's+ Arlington Heights+ IL+ 2/1/03+ Kimi Hayes\nShark City+ Glendale Heights+ IL+ 12/28/02+ Prezence\nTommy's Place+ Blue Island+ IL+ 12/28/02+ Blue Sunday/White Crow\nStonecutters Seafood and Chop House+ Lemont+ IL+ 12/19/02+ Week Back\n"
sample9 = "'Harry''s'+ Arlington Heights'+ 'IL'+ '2/1/03'+ 'Kimi Hayes'\n'Shark City'+ Glendale Heights'+' IL'+ '12/28/02'+ 'Prezence'\n'Tommy''s Place'+ Blue Island'+ 'IL'+ '12/28/02'+ 'Blue Sunday/White Crow'\n'Stonecutters ''Seafood'' and Chop House'+ 'Lemont'+ 'IL'+ '12/19/02'+ 'Week Back'\n"
test_delimiters()[source]
test_doublequote()[source]
test_has_header()[source]
test_has_header_regex_special_delimiter()[source]
test_sniff()[source]
class test.test_csv.TestUnicode(methodName='runTest')[source]

Bases: unittest.case.TestCase

names = ['Martin von Löwis', 'Marc André Lemburg', 'Guido van Rossum', 'François Pinard']
test_unicode_read()[source]
test_unicode_write()[source]
class test.test_csv.Test_Csv(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the underlying C csv parser in ways that are not appropriate from the high level interface. Further tests of this nature are done in TestDialectRegistry.

test_read_bigfield()[source]
test_read_eof()[source]
test_read_eol()[source]
test_read_escape()[source]
test_read_linenum()[source]
test_read_oddinputs()[source]
test_read_quoting()[source]
test_reader_arg_valid()[source]
test_reader_attrs()[source]
test_reader_dialect_attrs()[source]
test_reader_kw_attrs()[source]
test_roundtrip_escaped_unquoted_newlines()[source]
test_roundtrip_quoteed_newlines()[source]
test_write_arg_valid()[source]
test_write_bigfield()[source]
test_write_escape()[source]
test_write_quoting()[source]
test_writer_arg_valid()[source]
test_writer_attrs()[source]
test_writer_dialect_attrs()[source]
test_writer_kw_attrs()[source]
test_writerows()[source]
test_writerows_legacy_strings()[source]
test.test_csv.test_main()[source]

test.test_ctypes module

test.test_curses module

test.test_datetime module

test.test_datetime.setUpClass

classmethod(function) -> method

Convert a function to be a class method.

A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:

class C:
def f(cls, arg1, arg2, ...): ... f = classmethod(f)

It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.

Class methods are different than C++ or Java static methods. If you want those, see the staticmethod builtin.

test.test_datetime.tearDownClass

classmethod(function) -> method

Convert a function to be a class method.

A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:

class C:
def f(cls, arg1, arg2, ...): ... f = classmethod(f)

It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.

Class methods are different than C++ or Java static methods. If you want those, see the staticmethod builtin.

test.test_datetime.test_main()[source]

test.test_dbm module

Test script for the dbm.open function based on testdumbdbm.py

class test.test_dbm.AnyDBMTestCase[source]

Bases: object

init_db()[source]
keys_helper(f)[source]
read_helper(f)[source]
setUp()[source]
tearDown()[source]
test_anydbm_access()[source]
test_anydbm_creation()[source]
test_anydbm_creation_n_file_exists_with_invalid_contents()[source]
test_anydbm_keys()[source]
test_anydbm_modification()[source]
test_anydbm_not_existing()[source]
test_anydbm_read()[source]
test_error()[source]
class test.test_dbm.WhichDBTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_keys()[source]
test_whichdb()[source]
test_whichdb_ndbm()[source]
test.test_dbm.dbm_iterator()[source]
test.test_dbm.delete_files()[source]
test.test_dbm.load_tests(loader, tests, pattern)[source]

test.test_dbm_dumb module

Test script for the dumbdbm module Original by Roger E. Masse

class test.test_dbm_dumb.DumbDBMTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

init_db()[source]
keys_helper(f)[source]
read_helper(f)[source]
setUp()[source]
tearDown()[source]
test_check_closed()[source]
test_close_twice()[source]
test_context_manager()[source]
test_dumbdbm_creation()[source]
test_dumbdbm_creation_mode()[source]
test_dumbdbm_keys()[source]
test_dumbdbm_modification()[source]
test_dumbdbm_read()[source]
test_line_endings()[source]
test_random()[source]
test_str_read()[source]
test_str_write_contains()[source]
test_write_contains()[source]
test_write_write_read()[source]

test.test_dbm_gnu module

test.test_dbm_ndbm module

test.test_decimal module

These are the test cases for the Decimal module.

There are two groups of tests, Arithmetic and Behaviour. The former test the Decimal arithmetic using the tests provided by Mike Cowlishaw. The latter test the pythonic behaviour according to PEP 327.

Cowlishaw’s tests can be downloaded from:

This test module can be called from command line with one parameter (Arithmetic or Behaviour) to test each part, or without parameter to test both parts. If you’re working through IDLE, you can import this test module and call test_main() with the corresponding argument.

class test.test_decimal.ArithmeticOperatorsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for all arithmetic operators, binary and unary.

test_addition()[source]
test_copy_sign()[source]
test_division()[source]
test_floor_div_module()[source]
test_floor_division()[source]
test_module()[source]
test_multiplication()[source]
test_nan_comparisons()[source]
test_powering()[source]
test_subtraction()[source]
test_unary_operators()[source]
class test.test_decimal.CArithmeticOperatorsTest(methodName='runTest')[source]

Bases: test.test_decimal.ArithmeticOperatorsTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CContextAPItests(methodName='runTest')[source]

Bases: test.test_decimal.ContextAPItests

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CContextFlags(methodName='runTest')[source]

Bases: test.test_decimal.ContextFlags

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CContextInputValidation(methodName='runTest')[source]

Bases: test.test_decimal.ContextInputValidation

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CContextSubclassing(methodName='runTest')[source]

Bases: test.test_decimal.ContextSubclassing

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CContextWithStatement(methodName='runTest')[source]

Bases: test.test_decimal.ContextWithStatement

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CCoverage(methodName='runTest')[source]

Bases: test.test_decimal.Coverage

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CExplicitConstructionTest(methodName='runTest')[source]

Bases: test.test_decimal.ExplicitConstructionTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CFormatTest(methodName='runTest')[source]

Bases: test.test_decimal.FormatTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CFunctionality(methodName='runTest')[source]

Bases: unittest.case.TestCase

Extra functionality in _decimal

test_c_context()[source]
test_c_ieee_context()[source]
test_constants()[source]
class test.test_decimal.CIBMTestCases(methodName='runTest')[source]

Bases: test.test_decimal.IBMTestCases

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CImplicitConstructionTest(methodName='runTest')[source]

Bases: test.test_decimal.ImplicitConstructionTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CPythonAPItests(methodName='runTest')[source]

Bases: test.test_decimal.PythonAPItests

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CSpecialContexts(methodName='runTest')[source]

Bases: test.test_decimal.SpecialContexts

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CThreadingTest(methodName='runTest')[source]

Bases: test.test_decimal.ThreadingTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CUsabilityTest(methodName='runTest')[source]

Bases: test.test_decimal.UsabilityTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.CWhitebox(methodName='runTest')[source]

Bases: unittest.case.TestCase

Whitebox testing for _decimal

test_bignum()[source]
test_c_context_errors()[source]
test_c_context_errors_extra()[source]
test_c_context_repr()[source]
test_c_context_templates()[source]
test_c_format()[source]
test_c_funcs()[source]
test_c_input_restriction()[source]
test_c_integral()[source]
test_c_round()[source]
test_c_signal_dict()[source]
test_c_valid_context()[source]
test_c_valid_context_extra()[source]
test_exact_conversion()[source]
test_from_tuple()[source]
test_invalid_construction()[source]
test_invalid_override()[source]
test_rounding_strings_interned()[source]
test_sizeof()[source]
test_va_args_exceptions()[source]
class test.test_decimal.CheckAttributes(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_context_attributes()[source]
test_decimal_attributes()[source]
test_module_attributes()[source]
class test.test_decimal.ContextAPItests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test__clamp()[source]
test_abs()[source]
test_add()[source]
test_compare()[source]
test_compare_signal()[source]
test_compare_total()[source]
test_compare_total_mag()[source]
test_copy()[source]
test_copy_abs()[source]
test_copy_decimal()[source]
test_copy_negate()[source]
test_copy_sign()[source]
test_divide()[source]
test_divide_int()[source]
test_divmod()[source]
test_equality_with_other_types()[source]
test_exp()[source]
test_fma()[source]
test_from_legacy_strings()[source]
test_is_finite()[source]
test_is_infinite()[source]
test_is_nan()[source]
test_is_normal()[source]
test_is_qnan()[source]
test_is_signed()[source]
test_is_snan()[source]
test_is_subnormal()[source]
test_is_zero()[source]
test_ln()[source]
test_log10()[source]
test_logb()[source]
test_logical_and()[source]
test_logical_invert()[source]
test_logical_or()[source]
test_logical_xor()[source]
test_max()[source]
test_max_mag()[source]
test_min()[source]
test_min_mag()[source]
test_minus()[source]
test_multiply()[source]
test_next_minus()[source]
test_next_plus()[source]
test_next_toward()[source]
test_none_args()[source]
test_normalize()[source]
test_number_class()[source]
test_pickle()[source]
test_plus()[source]
test_power()[source]
test_quantize()[source]
test_remainder()[source]
test_remainder_near()[source]
test_rotate()[source]
test_same_quantum()[source]
test_scaleb()[source]
test_shift()[source]
test_sqrt()[source]
test_subtract()[source]
test_to_eng_string()[source]
test_to_integral_exact()[source]
test_to_integral_value()[source]
test_to_sci_string()[source]
class test.test_decimal.ContextFlags(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_flag_comparisons()[source]
test_flags_irrelevant()[source]
test_float_comparison()[source]
test_float_operation()[source]
test_float_operation_default()[source]
class test.test_decimal.ContextInputValidation(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_invalid_context()[source]
class test.test_decimal.ContextSubclassing(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_context_subclassing()[source]
class test.test_decimal.ContextWithStatement(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_localcontext()[source]
test_localcontextarg()[source]
test_nested_with_statements()[source]
test_with_statements_gc1()[source]
test_with_statements_gc2()[source]
test_with_statements_gc3()[source]
class test.test_decimal.Coverage(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_adjusted()[source]
test_canonical()[source]
test_context_repr()[source]
test_copy()[source]
test_create_decimal()[source]
test_divmod()[source]
test_implicit_context()[source]
test_int()[source]
test_power()[source]
test_quantize()[source]
test_radix()[source]
test_rop()[source]
test_round()[source]
class test.test_decimal.ExplicitConstructionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for Explicit Construction cases of Decimal.

test_explicit_context_create_decimal()[source]
test_explicit_context_create_from_float()[source]
test_explicit_empty()[source]
test_explicit_from_Decimal()[source]
test_explicit_from_None()[source]
test_explicit_from_bool()[source]
test_explicit_from_float()[source]
test_explicit_from_int()[source]
test_explicit_from_list()[source]
test_explicit_from_string()[source]
test_explicit_from_tuples()[source]
test_from_legacy_strings()[source]
test_unicode_digits()[source]
class test.test_decimal.FormatTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for the format function.

test_formatting()[source]
test_n_format()[source]
test_wide_char_separator_decimal_point(*args, **kwds)
class test.test_decimal.IBMTestCases(methodName='runTest')[source]

Bases: unittest.case.TestCase

Class which tests the Decimal class against the IBM test cases.

change_clamp(clamp)[source]
change_max_exponent(exp)[source]
change_min_exponent(exp)[source]
change_precision(prec)[source]
change_rounding_method(rounding)[source]
eval_directive(s)[source]
eval_equation(s)[source]
eval_file(file)[source]
eval_line(s)[source]
getexceptions()[source]
read_unlimited(v, context)[source]

Work around the limitations of the 32-bit _decimal version. The guaranteed maximum values for prec, Emax etc. are 425000000, but higher values usually work, except for rare corner cases. In particular, all of the IBM tests pass with maximum values of 1070000000.

setUp()[source]
class test.test_decimal.ImplicitConstructionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for Implicit Construction cases of Decimal.

test_implicit_from_Decimal()[source]
test_implicit_from_None()[source]
test_implicit_from_float()[source]
test_implicit_from_int()[source]
test_implicit_from_string()[source]
test_rop()[source]
class test.test_decimal.PyArithmeticOperatorsTest(methodName='runTest')[source]

Bases: test.test_decimal.ArithmeticOperatorsTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyContextAPItests(methodName='runTest')[source]

Bases: test.test_decimal.ContextAPItests

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyContextFlags(methodName='runTest')[source]

Bases: test.test_decimal.ContextFlags

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyContextInputValidation(methodName='runTest')[source]

Bases: test.test_decimal.ContextInputValidation

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyContextSubclassing(methodName='runTest')[source]

Bases: test.test_decimal.ContextSubclassing

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyContextWithStatement(methodName='runTest')[source]

Bases: test.test_decimal.ContextWithStatement

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyCoverage(methodName='runTest')[source]

Bases: test.test_decimal.Coverage

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyExplicitConstructionTest(methodName='runTest')[source]

Bases: test.test_decimal.ExplicitConstructionTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyFormatTest(methodName='runTest')[source]

Bases: test.test_decimal.FormatTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyFunctionality(methodName='runTest')[source]

Bases: unittest.case.TestCase

Extra functionality in decimal.py

test_py_alternate_formatting()[source]
test_py_quantize_watchexp()[source]
class test.test_decimal.PyIBMTestCases(methodName='runTest')[source]

Bases: test.test_decimal.IBMTestCases

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyImplicitConstructionTest(methodName='runTest')[source]

Bases: test.test_decimal.ImplicitConstructionTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyPythonAPItests(methodName='runTest')[source]

Bases: test.test_decimal.PythonAPItests

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PySpecialContexts(methodName='runTest')[source]

Bases: test.test_decimal.SpecialContexts

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyThreadingTest(methodName='runTest')[source]

Bases: test.test_decimal.ThreadingTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyUsabilityTest(methodName='runTest')[source]

Bases: test.test_decimal.UsabilityTest

decimal = <module 'decimal' from 'C:\\Python34\\lib\\decimal.py'>
class test.test_decimal.PyWhitebox(methodName='runTest')[source]

Bases: unittest.case.TestCase

White box testing for decimal.py

test_py__round()[source]
test_py_decimal_id()[source]
test_py_exact_power()[source]
test_py_immutability_operations()[source]
test_py_rescale()[source]
class test.test_decimal.PythonAPItests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_abc()[source]
test_complex()[source]
test_create_decimal_from_float()[source]
test_exception_hierarchy()[source]
test_from_float()[source]
test_int()[source]
test_named_parameters()[source]
test_pickle()[source]
test_quantize()[source]
test_trunc()[source]
class test.test_decimal.SpecialContexts(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the context templates.

test_context_templates()[source]
test_default_context()[source]
class test.test_decimal.ThreadingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for thread local contexts in Decimal.

test_threading()[source]
class test.test_decimal.UsabilityTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for Usability cases of Decimal.

test_as_nonzero()[source]
test_as_tuple()[source]
test_comparison_operators()[source]
test_conversions_from_int()[source]
test_copy_and_deepcopy_methods()[source]
test_decimal_complex_comparison()[source]
test_decimal_float_comparison()[source]
test_decimal_fraction_comparison()[source]
test_eval_round_trip()[source]
test_hash_method()[source]
test_implicit_context()[source]
test_min_and_max_methods()[source]
test_nan_to_float()[source]
test_none_args()[source]
test_snan_to_float()[source]
test_subclassing()[source]
test_tonum_methods()[source]
test_tostring_methods()[source]
test.test_decimal.assert_signals(cls, context, attr, expected)[source]
test.test_decimal.init(m)[source]
test.test_decimal.test_main(arith=None, verbose=None, todo_tests=None, debug=None)[source]

Execute the tests.

Runs all arithmetic tests if arith is True or if the “decimal” resource is enabled in regrtest.py

test.test_decimal.thfunc1(cls)[source]
test.test_decimal.thfunc2(cls)[source]

test.test_decorators module

exception test.test_decorators.DbcheckError(exprstr, func, args, kwds)[source]

Bases: Exception

class test.test_decorators.MiscDecorators[source]

Bases: object

static author(name)[source]
class test.test_decorators.TestClassDecorators(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_double()[source]
test_order()[source]
test_simple()[source]
class test.test_decorators.TestDecorators(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_argforms()[source]
test_dbcheck()[source]
test_dotted()[source]
test_double()[source]
test_errors()[source]
test_eval_order()[source]
test_memoize()[source]
test_order()[source]
test_single()[source]
test_staticmethod_function()[source]
test.test_decorators.countcalls(counts)[source]

Decorator to count calls to a function

test.test_decorators.dbcheck(exprstr, globals=None, locals=None)[source]

Decorator to implement debugging assertions

test.test_decorators.funcattrs(**kwds)[source]
test.test_decorators.memoize(func)[source]
test.test_decorators.test_main()[source]

test.test_defaultdict module

Unit tests for collections.defaultdict.

class test.test_defaultdict.TestDefaultDict(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test_callable_arg()[source]
test_copy()[source]
test_deep_copy()[source]
test_keyerror_without_factory()[source]
test_missing()[source]
test_pickleing()[source]
test_print()[source]
test_recursive_repr()[source]
test_repr()[source]
test_shallow_copy()[source]
test.test_defaultdict.foobar()[source]
test.test_defaultdict.test_main()[source]

test.test_deque module

class test.test_deque.BadCmp[source]

Bases: object

class test.test_deque.Deque[source]

Bases: collections.deque

class test.test_deque.DequeWithBadIter[source]

Bases: collections.deque

class test.test_deque.MutateCmp(deque, result)[source]

Bases: object

class test.test_deque.SubclassWithKwargs(newarg=1)[source]

Bases: collections.deque

class test.test_deque.TestBasic(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_sizeof(test, o, size)
test_basics()[source]
test_big_queue_popleft()[source]
test_big_queue_popright()[source]
test_big_stack_left()[source]
test_big_stack_right()[source]
test_clear()[source]
test_comparisons()[source]
test_container_iterator()[source]
test_copy()[source]
test_count()[source]
test_deepcopy()[source]
test_delitem()[source]
test_extend()[source]
test_extendleft()[source]
test_gc_doesnt_blowup()[source]
test_getitem()[source]
test_hash()[source]
test_iadd()[source]
test_init()[source]
test_iterator_pickle()[source]
test_len()[source]
test_long_steadystate_queue_popleft()[source]
test_long_steadystate_queue_popright()[source]
test_maxlen()[source]
test_maxlen_attribute()[source]
test_maxlen_zero()[source]
test_pickle()[source]
test_print()[source]
test_remove()[source]
test_repr()[source]
test_reverse()[source]
test_reversed()[source]
test_rotate()[source]
test_roundtrip_iter_init()[source]
test_setitem()[source]
test_sizeof()[source]
test_underflow()[source]
class test.test_deque.TestSubclass(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basics()[source]
test_copy_pickle()[source]
test_strange_subclass()[source]
test_weakref()[source]
class test.test_deque.TestSubclassWithKwargs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_subclass_with_kwargs()[source]
class test.test_deque.TestVariousIteratorArgs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constructor()[source]
test_iter_with_altered_data()[source]
test_runtime_error_on_empty_deque()[source]
test.test_deque.fail()[source]
test.test_deque.test_main(verbose=None)[source]

test.test_descr module

class test.test_descr.ClassPropertiesAndMethods(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertHasAttr(obj, name)[source]
assertNotHasAttr(obj, name)[source]
test_abstractmethods()[source]
test_altmro()[source]
test_assign_slice()[source]
test_basic_inheritance()[source]
test_binary_operator_override()[source]
test_buffer_inheritance()[source]
test_builtin_bases()[source]
test_carloverre()[source]
test_classic()[source]
test_classic_comparisons()[source]
test_classmethods()[source]
test_classmethods_in_c()[source]
test_compattr()[source]
test_consistency_with_epg()[source]
test_copy_setstate()[source]
test_cycle_through_dict()[source]
test_deepcopy_recursive()[source]
test_delete_hook()[source]
test_descrdoc()[source]
test_diamond_inheritence()[source]
test_dict_constructors()[source]
test_dir()[source]
test_doc_descriptor()[source]
test_dynamics()[source]
test_errors()[source]
test_evil_type_name()[source]
test_ex5_from_c3_switch()[source]
test_file_fault()[source]
test_funny_new()[source]
test_getattr_hooks()[source]
test_hash_inheritance()[source]
test_imul_bug()[source]
test_init()[source]
test_ipow()[source]
test_isinst_isclass()[source]
test_keyword_arguments()[source]
test_keywords()[source]
test_metaclass()[source]
test_meth_class_get()[source]
test_method_wrapper()[source]
test_methods()[source]
test_mixing_slot_wrappers()[source]
test_module_subclasses()[source]
test_monotonicity()[source]
test_mro_disagreement()[source]
test_multiple_inheritance()[source]
test_mutable_bases()[source]
test_mutable_bases_catch_mro_conflict()[source]
test_mutable_bases_with_failing_mro()[source]
test_mutable_names()[source]
test_newslots()[source]
test_not_implemented()[source]
test_object_class()[source]
test_object_new_and_init_with_parameters()[source]
test_overloading()[source]
test_properties()[source]
test_properties_doc_attrib()[source]
test_properties_plus()[source]
test_proxy_call()[source]
test_proxy_super()[source]
test_python_dicts()[source]
test_python_lists()[source]
test_qualname()[source]
test_qualname_dict()[source]
test_recursive_call()[source]
test_repr_as_str()[source]
test_rich_comparisons()[source]
test_rmul()[source]
test_set_and_no_get()[source]
test_set_class()[source]
test_set_dict()[source]
test_set_doc()[source]
test_slices()[source]
test_slot_shadows_class_variable()[source]
test_slots()[source]
test_slots_descriptor()[source]
test_slots_multiple_inheritance()[source]
test_slots_special()[source]
test_slots_trash()[source]
test_special_method_lookup()[source]
test_specials()[source]
test_staticmethods()[source]
test_staticmethods_in_c()[source]
test_str_of_str_subclass()[source]
test_str_operations()[source]
test_str_subclass_as_dict_key()[source]
test_subclass_propagation()[source]
test_subclass_right_op()[source]
test_subclassing_does_not_duplicate_dict_descriptors()[source]
test_subtype_resurrection()[source]
test_supers()[source]
test_testcapi_no_segfault()[source]
test_type___getattribute__()[source]
test_unintialized_modules()[source]
test_vicious_descriptor_nonsense()[source]
test_weakref_segfault()[source]
test_weakrefs()[source]
test_wrapper_segfault()[source]
class test.test_descr.DictProxyTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_dict_type_with_metaclass()[source]
test_iter_items()[source]
test_iter_keys()[source]
test_iter_values()[source]
test_repr()[source]
class test.test_descr.MiscTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_type_lookup_mro_reference()[source]
class test.test_descr.OperatorsTest(*args, **kwargs)[source]

Bases: unittest.case.TestCase

binop_test(a, b, res, expr='a+b', meth='__add__')[source]
number_operators(a, b, skip=[])[source]
set2op_test(a, b, c, res, stmt='a[b]=c', meth='__setitem__')[source]
setop_test(a, b, res, stmt='a+=b', meth='__iadd__')[source]
setsliceop_test(a, b, c, d, res, stmt='a[b:c]=d', meth='__setitem__')[source]
sliceop_test(a, b, c, res, expr='a[b:c]', meth='__getitem__')[source]
test_complexes()[source]
test_dicts()[source]
test_explicit_reverse_methods()[source]
test_floats()[source]
test_ints()[source]
test_lists()[source]
test_spam_dicts()[source]
test_spam_lists()[source]
unop_test(a, res, expr='len(a)', meth='__len__')[source]
class test.test_descr.PTypesLongInitTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_pytype_long_ready()[source]
class test.test_descr.PicklingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_pickle_slots()[source]
test_reduce()[source]
test_reduce_copying()[source]
test_special_method_lookup()[source]
class test.test_descr.SharedKeyTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_subclasses()[source]
test.test_descr.test_main()[source]

test.test_descrtut module

class test.test_descrtut.A[source]

Bases: object

m()[source]
class test.test_descrtut.B[source]

Bases: test.test_descrtut.A

m()[source]
class test.test_descrtut.C[source]

Bases: test.test_descrtut.A

m()[source]
class test.test_descrtut.D[source]

Bases: test.test_descrtut.C, test.test_descrtut.B

m()[source]
class test.test_descrtut.defaultdict(default=None)[source]

Bases: dict

get(key, *args)[source]
merge(other)[source]
class test.test_descrtut.defaultdict2(default=None)[source]

Bases: dict

default
get(key, *args)[source]
merge(other)[source]
test.test_descrtut.test_main(verbose=None)[source]

test.test_devpoll module

test.test_dict module

class test.test_dict.Dict[source]

Bases: dict

class test.test_dict.DictTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

helper_keys_contained(fn)[source]
test_bad_key()[source]
test_bool()[source]
test_clear()[source]
test_constructor()[source]
test_container_iterator()[source]
test_contains()[source]
test_copy()[source]
test_dictview_mixed_set_operations()[source]
test_dictview_set_operations_on_items()[source]
test_dictview_set_operations_on_keys()[source]
test_empty_presized_dict_in_freelist()[source]
test_eq()[source]
test_errors_in_view_containment_check()[source]
test_fromkeys()[source]
test_get()[source]
test_getitem()[source]
test_instance_dict_getattr_str_subclass()[source]
test_invalid_keyword_arguments()[source]
test_itemiterator_pickling()[source]
test_items()[source]
test_iterator_pickling()[source]
test_keys()[source]
test_keys_contained()[source]
test_len()[source]
test_literal_constructor()[source]
test_missing()[source]
test_mutating_iteration()[source]
test_mutating_lookup()[source]
test_object_set_item_single_instance_non_str_key()[source]
test_pop()[source]
test_popitem()[source]
test_repr()[source]
test_resize1()[source]
test_resize2()[source]
test_setdefault()[source]
test_setdefault_atomic()[source]
test_setitem_atomic_at_resize()[source]
test_track_dynamic()[source]
test_track_literals()[source]
test_track_subtypes()[source]
test_tuple_keyerror()[source]
test_update()[source]
test_values()[source]
test_valuesiterator_pickling()[source]
class test.test_dict.GeneralMappingTests(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

type2test

alias of dict

class test.test_dict.SubclassMappingTests(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

type2test

alias of Dict

test.test_dict.test_main()[source]

test.test_dictcomps module

class test.test_dictcomps.DictComprehensionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basics()[source]
test_global_visibility()[source]
test_illegal_assignment()[source]
test_local_visibility()[source]
test_scope_isolation()[source]
test_scope_isolation_from_global()[source]

test.test_dictviews module

class test.test_dictviews.DictSetTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constructors_not_callable()[source]
test_dict_items()[source]
test_dict_keys()[source]
test_dict_mixed_keys_items()[source]
test_dict_repr()[source]
test_dict_values()[source]
test_items_set_operations()[source]
test_keys_set_operations()[source]
test_recursive_repr()[source]
test.test_dictviews.test_main()[source]

test.test_difflib module

class test.test_difflib.TestAutojunk(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for the autojunk parameter added in 2.7

test_one_insert_homogenous_sequence()[source]
class test.test_difflib.TestOutputFormat(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_no_trailing_tab_on_empty_filedate()[source]
test_range_format_context()[source]
test_range_format_unified()[source]
test_tab_delimiter()[source]
class test.test_difflib.TestSFbugs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_added_tab_hint()[source]
test_comparing_empty_lists()[source]
test_matching_blocks_cache()[source]
test_ratio_for_null_seqn()[source]
class test.test_difflib.TestSFpatches(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_html_diff()[source]
test_recursion_limit()[source]
class test.test_difflib.TestWithAscii(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bjunk()[source]
test_one_delete()[source]
test_one_insert()[source]
test.test_difflib.test_main()[source]

test.test_dis module

class test.test_dis.BytecodeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_disassembled()[source]
test_explicit_first_line()[source]
test_from_traceback()[source]
test_from_traceback_dis()[source]
test_info()[source]
test_instantiation()[source]
test_iteration()[source]
test_source_line_in_disassembly()[source]
class test.test_dis.CodeInfoTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_code_info()[source]
test_code_info_object()[source]
test_pairs = [(<function code_info at 0x029E5C48>, "Name: code_info\nFilename: (.*)\nArgument count: 1\nKw-only arguments: 0\nNumber of locals: 1\nStack size: 3\nFlags: OPTIMIZED, NEWLOCALS, NOFREE\nConstants:\n 0: 'Formatted details of methods, functions, or code.'\nNames:\n 0: _format_code_info\n 1: _get_code_object\nVariable names:\n 0: x"), (<staticmethod object at 0x1C4B8B10>, 'Name: tricky\nFilename: (.*)\nArgument count: 3\nKw-only arguments: 3\nNumber of locals: 8\nStack size: 7\nFlags: OPTIMIZED, NEWLOCALS, VARARGS, VARKEYWORDS, GENERATOR\nConstants:\n 0: None\n 1: <code object f at (.*), file "(.*)", line (.*)>\n 2: \'tricky.<locals>.f\'\nVariable names:\n 0: x\n 1: y\n 2: z\n 3: c\n 4: d\n 5: e\n 6: args\n 7: kwds\nCell variables:\n 0: [edfxyz]\n 1: [edfxyz]\n 2: [edfxyz]\n 3: [edfxyz]\n 4: [edfxyz]\n 5: [edfxyz]'), (<code object f at 0x1C4D1200, file "C:\Python34\lib\test\test_dis.py", line 374>, 'Name: f\nFilename: (.*)\nArgument count: 1\nKw-only arguments: 0\nNumber of locals: 1\nStack size: 8\nFlags: OPTIMIZED, NEWLOCALS, NESTED\nConstants:\n 0: None\nNames:\n 0: print\nVariable names:\n 0: c\nFree variables:\n 0: [edfxyz]\n 1: [edfxyz]\n 2: [edfxyz]\n 3: [edfxyz]\n 4: [edfxyz]\n 5: [edfxyz]'), ('x + 1', 'Name: <module>\nFilename: <disassembly>\nArgument count: 0\nKw-only arguments: 0\nNumber of locals: 0\nStack size: 2\nFlags: NOFREE\nConstants:\n 0: 1\nNames:\n 0: x'), ('x = x + 1', 'Name: <module>\nFilename: <disassembly>\nArgument count: 0\nKw-only arguments: 0\nNumber of locals: 0\nStack size: 2\nFlags: NOFREE\nConstants:\n 0: 1\n 1: None\nNames:\n 0: x'), ('x = 0\nwhile 1:\n x += 1', 'Name: <module>\nFilename: <disassembly>\nArgument count: 0\nKw-only arguments: 0\nNumber of locals: 0\nStack size: 2\nFlags: NOFREE\nConstants:\n 0: 0\n 1: 1\n 2: None\nNames:\n 0: x')]
test_pretty_flags_no_flags()[source]
test_show_code()[source]
class test.test_dis.DisTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

do_disassembly_test(func, expected)[source]
get_disassemble_as_string(func, lasti=-1)[source]
get_disassembly(func, lasti=-1, wrapper=True)[source]
strip_addresses(text)[source]
test_big_linenos()[source]
test_boundaries()[source]
test_bug_1333982()[source]
test_bug_708901()[source]
test_dis()[source]
test_dis_none()[source]
test_dis_object()[source]
test_dis_traceback()[source]
test_disassemble_bytes()[source]
test_disassemble_method()[source]
test_disassemble_method_bytes()[source]
test_disassemble_str()[source]
test_opmap()[source]
test_opname()[source]
class test.test_dis.DisWithFileTests(methodName='runTest')[source]

Bases: test.test_dis.DisTests

get_disassembly(func, lasti=-1, wrapper=True)[source]
class test.test_dis.InstructionTests(methodName='runTest')[source]

Bases: test.bytecode_helper.BytecodeTestCase

test_default_first_line()[source]
test_doubly_nested()[source]
test_first_line_set_to_None()[source]
test_jumpy()[source]
test_nested()[source]
test_outer()[source]
test.test_dis.bug1333982(x=[])[source]
test.test_dis.bug708901()[source]
test.test_dis.get_tb()[source]
test.test_dis.jumpy()[source]
test.test_dis.outer(a=1, b=2)[source]
test.test_dis.simple()[source]
test.test_dis.tricky

staticmethod(function) -> method

Convert a function to be a static method.

A static method does not receive an implicit first argument. To declare a static method, use this idiom:

class C: def f(arg1, arg2, ...): ... f = staticmethod(f)

It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class.

Static methods in Python are similar to those found in Java or C++. For a more advanced concept, see the classmethod builtin.

test.test_distutils module

Tests for distutils.

The tests for distutils are defined in the distutils.tests package; the test_suite() function there returns a test suite that’s ready to be run.

test.test_distutils.test_main()[source]

test.test_doctest module

Test script for doctest.

class test.test_doctest.SampleClass(val)[source]

Bases: object

>>> print(1)
1
>>> # comments get ignored.  so are empty PS1 and PS2 prompts:
>>>
...

Multiline example: >>> sc = SampleClass(3) >>> for i in range(10): ... sc = sc.double() ... print(‘ ‘, sc.get(), sep=’‘, end=’‘)

6 12 24 48 96 192 384 768 1536 3072
class NestedClass(val=0)[source]

Bases: object

>>> x = SampleClass.NestedClass(5)
>>> y = x.square()
>>> print(y.get())
25
get()[source]
square()[source]
classmethod SampleClass.a_classmethod(v)[source]
>>> print(SampleClass.a_classmethod(10))
12
>>> print(SampleClass(0).a_classmethod(10))
12
SampleClass.a_property
>>> print(SampleClass(22).a_property)
22
static SampleClass.a_staticmethod(v)[source]
>>> print(SampleClass.a_staticmethod(10))
11
SampleClass.double()[source]
>>> print(SampleClass(12).double().get())
24
SampleClass.get()[source]
>>> print(SampleClass(-5).get())
-5
class test.test_doctest.SampleNewStyleClass(val)[source]

Bases: object

>>> print('1\n2\n3')
1
2
3
double()[source]
>>> print(SampleNewStyleClass(12).double().get())
24
get()[source]
>>> print(SampleNewStyleClass(-5).get())
-5
test.test_doctest.sample_func(v)[source]

Blah blah

>>> print(sample_func(22))
44

Yee ha!

test.test_doctest.test_CLI()[source]

The doctest module can be used to run doctests against an arbitrary file. These tests test this CLI functionality.

We’ll use the support module’s script_helpers for this, and write a test files to a temp dir to run the command against. Due to a current limitation in script_helpers, though, we need a little utility function to turn the returned output into something we can doctest against:

>>> def normalize(s):
...     return '\n'.join(s.decode().splitlines())

Note: we also pass TERM=’’ to all the assert_python calls to avoid a bug in the readline library that is triggered in these tests because we are running them in a new python process. See:

With those preliminaries out of the way, we’ll start with a file with two simple tests and no errors. We’ll run both the unadorned doctest command, and the verbose version, and then check the output:

>>> from test import script_helper
>>> with script_helper.temp_dir() as tmpdir:
...     fn = os.path.join(tmpdir, 'myfile.doc')
...     with open(fn, 'w') as f:
...         _ = f.write('This is a very simple test file.\n')
...         _ = f.write('   >>> 1 + 1\n')
...         _ = f.write('   2\n')
...         _ = f.write('   >>> "a"\n')
...         _ = f.write("   'a'\n")
...         _ = f.write('\n')
...         _ = f.write('And that is it.\n')
...     rc1, out1, err1 = script_helper.assert_python_ok(
...             '-m', 'doctest', fn, TERM='')
...     rc2, out2, err2 = script_helper.assert_python_ok(
...             '-m', 'doctest', '-v', fn, TERM='')

With no arguments and passing tests, we should get no output:

>>> rc1, out1, err1
(0, b'', b'')

With the verbose flag, we should see the test output, but no error output:

>>> rc2, err2
(0, b'')
>>> print(normalize(out2))
Trying:
    1 + 1
Expecting:
    2
ok
Trying:
    "a"
Expecting:
    'a'
ok
1 items passed all tests:
   2 tests in myfile.doc
2 tests in 1 items.
2 passed and 0 failed.
Test passed.

Now we’ll write a couple files, one with three tests, the other a python module with two tests, both of the files having “errors” in the tests that can be made non-errors by applying the appropriate doctest options to the run (ELLIPSIS in the first file, NORMALIZE_WHITESPACE in the second). This combination will allow to thoroughly test the -f and -o flags, as well as the doctest command’s ability to process more than one file on the command line and, since the second file ends in ‘.py’, its handling of python module files (as opposed to straight text files).

>>> from test import script_helper
>>> with script_helper.temp_dir() as tmpdir:
...     fn = os.path.join(tmpdir, 'myfile.doc')
...     with open(fn, 'w') as f:
...         _ = f.write('This is another simple test file.\n')
...         _ = f.write('   >>> 1 + 1\n')
...         _ = f.write('   2\n')
...         _ = f.write('   >>> "abcdef"\n')
...         _ = f.write("   'a...f'\n")
...         _ = f.write('   >>> "ajkml"\n')
...         _ = f.write("   'a...l'\n")
...         _ = f.write('\n')
...         _ = f.write('And that is it.\n')
...     fn2 = os.path.join(tmpdir, 'myfile2.py')
...     with open(fn2, 'w') as f:
...         _ = f.write('def test_func():\n')
...         _ = f.write('   \"\"\"\n')
...         _ = f.write('   This is simple python test function.\n')
...         _ = f.write('       >>> 1 + 1\n')
...         _ = f.write('       2\n')
...         _ = f.write('       >>> "abc   def"\n')
...         _ = f.write("       'abc def'\n")
...         _ = f.write("\n")
...         _ = f.write('   \"\"\"\n')
...     import shutil
...     rc1, out1, err1 = script_helper.assert_python_failure(
...             '-m', 'doctest', fn, fn2, TERM='')
...     rc2, out2, err2 = script_helper.assert_python_ok(
...             '-m', 'doctest', '-o', 'ELLIPSIS', fn, TERM='')
...     rc3, out3, err3 = script_helper.assert_python_ok(
...             '-m', 'doctest', '-o', 'ELLIPSIS',
...             '-o', 'NORMALIZE_WHITESPACE', fn, fn2, TERM='')
...     rc4, out4, err4 = script_helper.assert_python_failure(
...             '-m', 'doctest', '-f', fn, fn2, TERM='')
...     rc5, out5, err5 = script_helper.assert_python_ok(
...             '-m', 'doctest', '-v', '-o', 'ELLIPSIS',
...             '-o', 'NORMALIZE_WHITESPACE', fn, fn2, TERM='')

Our first test run will show the errors from the first file (doctest stops if a file has errors). Note that doctest test-run error output appears on stdout, not stderr:

>>> rc1, err1
(1, b'')
>>> print(normalize(out1))                
**********************************************************************
File "...myfile.doc", line 4, in myfile.doc
Failed example:
    "abcdef"
Expected:
    'a...f'
Got:
    'abcdef'
**********************************************************************
File "...myfile.doc", line 6, in myfile.doc
Failed example:
    "ajkml"
Expected:
    'a...l'
Got:
    'ajkml'
**********************************************************************
1 items had failures:
   2 of   3 in myfile.doc
***Test Failed*** 2 failures.

With -o ELLIPSIS specified, the second run, against just the first file, should produce no errors, and with -o NORMALIZE_WHITESPACE also specified, neither should the third, which ran against both files:

>>> rc2, out2, err2
(0, b'', b'')
>>> rc3, out3, err3
(0, b'', b'')

The fourth run uses FAIL_FAST, so we should see only one error:

>>> rc4, err4
(1, b'')
>>> print(normalize(out4))                
**********************************************************************
File "...myfile.doc", line 4, in myfile.doc
Failed example:
    "abcdef"
Expected:
    'a...f'
Got:
    'abcdef'
**********************************************************************
1 items had failures:
   1 of   2 in myfile.doc
***Test Failed*** 1 failures.

The fifth test uses verbose with the two options, so we should get verbose success output for the tests in both files:

>>> rc5, err5
(0, b'')
>>> print(normalize(out5))
Trying:
    1 + 1
Expecting:
    2
ok
Trying:
    "abcdef"
Expecting:
    'a...f'
ok
Trying:
    "ajkml"
Expecting:
    'a...l'
ok
1 items passed all tests:
   3 tests in myfile.doc
3 tests in 1 items.
3 passed and 0 failed.
Test passed.
Trying:
    1 + 1
Expecting:
    2
ok
Trying:
    "abc   def"
Expecting:
    'abc def'
ok
1 items had no tests:
    myfile2
1 items passed all tests:
   2 tests in myfile2.test_func
2 tests in 2 items.
2 passed and 0 failed.
Test passed.

We should also check some typical error cases.

Invalid file name:

>>> rc, out, err = script_helper.assert_python_failure(
...         '-m', 'doctest', 'nosuchfile', TERM='')
>>> rc, out
(1, b'')
>>> print(normalize(err))                    
Traceback (most recent call last):
  ...
FileNotFoundError: [Errno ...] No such file or directory: 'nosuchfile'

Invalid doctest option:

>>> rc, out, err = script_helper.assert_python_failure(
...         '-m', 'doctest', '-o', 'nosuchoption', TERM='')
>>> rc, out
(2, b'')
>>> print(normalize(err))                    
usage...invalid...nosuchoption...
test.test_doctest.test_DocFileSuite()[source]

We can test tests found in text files using a DocFileSuite.

We create a suite by providing the names of one or more text files that include examples:

>>> import unittest
>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              'test_doctest2.txt',
...                              'test_doctest4.txt')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=3 errors=0 failures=2>

The test files are looked for in the directory containing the calling module. A package keyword argument can be provided to specify a different relative location.

>>> import unittest
>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              'test_doctest2.txt',
...                              'test_doctest4.txt',
...                              package='test')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=3 errors=0 failures=2>

Support for using a package’s __loader__.get_data() is also provided.

>>> import unittest, pkgutil, test
>>> added_loader = False
>>> if not hasattr(test, '__loader__'):
...     test.__loader__ = pkgutil.get_loader(test)
...     added_loader = True
>>> try:
...     suite = doctest.DocFileSuite('test_doctest.txt',
...                                  'test_doctest2.txt',
...                                  'test_doctest4.txt',
...                                  package='test')
...     suite.run(unittest.TestResult())
... finally:
...     if added_loader:
...         del test.__loader__
<unittest.result.TestResult run=3 errors=0 failures=2>

‘/’ should be used as a path separator. It will be converted to a native separator at run time:

>>> suite = doctest.DocFileSuite('../test/test_doctest.txt')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=1 errors=0 failures=1>

If DocFileSuite is used from an interactive session, then files are resolved relative to the directory of sys.argv[0]:

>>> import types, os.path, test.test_doctest
>>> save_argv = sys.argv
>>> sys.argv = [test.test_doctest.__file__]
>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              package=types.ModuleType('__main__'))
>>> sys.argv = save_argv

By setting module_relative=False, os-specific paths may be used (including absolute paths and paths relative to the working directory):

>>> # Get the absolute path of the test package.
>>> test_doctest_path = os.path.abspath(test.test_doctest.__file__)
>>> test_pkg_path = os.path.split(test_doctest_path)[0]
>>> # Use it to find the absolute path of test_doctest.txt.
>>> test_file = os.path.join(test_pkg_path, 'test_doctest.txt')
>>> suite = doctest.DocFileSuite(test_file, module_relative=False)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=1 errors=0 failures=1>

It is an error to specify package when module_relative=False:

>>> suite = doctest.DocFileSuite(test_file, module_relative=False,
...                              package='test')
Traceback (most recent call last):
ValueError: Package may only be specified for module-relative paths.

You can specify initial global variables:

>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              'test_doctest2.txt',
...                              'test_doctest4.txt',
...                              globs={'favorite_color': 'blue'})
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=3 errors=0 failures=1>

In this case, we supplied a missing favorite color. You can provide doctest options:

>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              'test_doctest2.txt',
...                              'test_doctest4.txt',
...                         optionflags=doctest.DONT_ACCEPT_BLANKLINE,
...                              globs={'favorite_color': 'blue'})
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=3 errors=0 failures=2>

And, you can provide setUp and tearDown functions:

>>> def setUp(t):
...     import test.test_doctest
...     test.test_doctest.sillySetup = True
>>> def tearDown(t):
...     import test.test_doctest
...     del test.test_doctest.sillySetup

Here, we installed a silly variable that the test expects:

>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              'test_doctest2.txt',
...                              'test_doctest4.txt',
...                              setUp=setUp, tearDown=tearDown)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=3 errors=0 failures=1>

But the tearDown restores sanity:

>>> import test.test_doctest
>>> test.test_doctest.sillySetup
Traceback (most recent call last):
...
AttributeError: 'module' object has no attribute 'sillySetup'

The setUp and tearDown funtions are passed test objects. Here, we’ll use a setUp function to set the favorite color in test_doctest.txt:

>>> def setUp(test):
...     test.globs['favorite_color'] = 'blue'
>>> suite = doctest.DocFileSuite('test_doctest.txt', setUp=setUp)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=1 errors=0 failures=0>

Here, we didn’t need to use a tearDown function because we modified the test globals. The test globals are automatically cleared for us after a test.

Tests in a file run using DocFileSuite can also access the __file__ global, which is set to the name of the file containing the tests:

>>> suite = doctest.DocFileSuite('test_doctest3.txt')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=1 errors=0 failures=0>

If the tests contain non-ASCII characters, we have to specify which encoding the file is encoded with. We do so by using the encoding parameter:

>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                              'test_doctest2.txt',
...                              'test_doctest4.txt',
...                              encoding='utf-8')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=3 errors=0 failures=2>
test.test_doctest.test_DocTest()[source]

Unit tests for the DocTest class.

DocTest is a collection of examples, extracted from a docstring, along with information about where the docstring comes from (a name, filename, and line number). The docstring is parsed by the DocTest constructor:

>>> docstring = '''
...     >>> print(12)
...     12
...
... Non-example text.
...
...     >>> print('another\example')
...     another
...     example
... '''
>>> globs = {} # globals to run the test in.
>>> parser = doctest.DocTestParser()
>>> test = parser.get_doctest(docstring, globs, 'some_test',
...                           'some_file', 20)
>>> print(test)
<DocTest some_test from some_file:20 (2 examples)>
>>> len(test.examples)
2
>>> e1, e2 = test.examples
>>> (e1.source, e1.want, e1.lineno)
('print(12)\n', '12\n', 1)
>>> (e2.source, e2.want, e2.lineno)
("print('another\\example')\n", 'another\nexample\n', 6)

Source information (name, filename, and line number) is available as attributes on the doctest object:

>>> (test.name, test.filename, test.lineno)
('some_test', 'some_file', 20)

The line number of an example within its containing file is found by adding the line number of the example and the line number of its containing test:

>>> test.lineno + e1.lineno
21
>>> test.lineno + e2.lineno
26

If the docstring contains inconsistant leading whitespace in the expected output of an example, then DocTest will raise a ValueError:

>>> docstring = r'''
...       >>> print('bad\nindentation')
...       bad
...     indentation
...     '''
>>> parser.get_doctest(docstring, globs, 'some_test', 'filename', 0)
Traceback (most recent call last):
ValueError: line 4 of the docstring for some_test has inconsistent leading whitespace: 'indentation'

If the docstring contains inconsistent leading whitespace on continuation lines, then DocTest will raise a ValueError:

>>> docstring = r'''
...       >>> print(('bad indentation',
...     ...          2))
...       ('bad', 'indentation')
...     '''
>>> parser.get_doctest(docstring, globs, 'some_test', 'filename', 0)
Traceback (most recent call last):
ValueError: line 2 of the docstring for some_test has inconsistent leading whitespace: '...          2))'

If there’s no blank space after a PS1 prompt (‘>>>’), then DocTest will raise a ValueError:

>>> docstring = '>>>print(1)\n1'
>>> parser.get_doctest(docstring, globs, 'some_test', 'filename', 0)
Traceback (most recent call last):
ValueError: line 1 of the docstring for some_test lacks blank after >>>: '>>>print(1)'

If there’s no blank space after a PS2 prompt (‘...’), then DocTest will raise a ValueError:

>>> docstring = '>>> if 1:\n...print(1)\n1'
>>> parser.get_doctest(docstring, globs, 'some_test', 'filename', 0)
Traceback (most recent call last):
ValueError: line 2 of the docstring for some_test lacks blank after ...: '...print(1)'

Compare DocTest:

>>> docstring = '''
...     >>> print 12
...     12
... '''
>>> test = parser.get_doctest(docstring, globs, 'some_test',
...                           'some_test', 20)
>>> same_test = parser.get_doctest(docstring, globs, 'some_test',
...                                'some_test', 20)
>>> test == same_test
True
>>> test != same_test
False
>>> hash(test) == hash(same_test)
True
>>> docstring = '''
...     >>> print 42
...     42
... '''
>>> other_test = parser.get_doctest(docstring, globs, 'other_test',
...                                 'other_file', 10)
>>> test == other_test
False
>>> test != other_test
True

Compare DocTestCase:

>>> DocTestCase = doctest.DocTestCase
>>> test_case = DocTestCase(test)
>>> same_test_case = DocTestCase(same_test)
>>> other_test_case = DocTestCase(other_test)
>>> test_case == same_test_case
True
>>> test_case != same_test_case
False
>>> hash(test_case) == hash(same_test_case)
True
>>> test == other_test_case
False
>>> test != other_test_case
True
class test.test_doctest.test_DocTestFinder[source]

Bases: object

basics()[source]

Unit tests for the DocTestFinder class.

DocTestFinder is used to extract DocTests from an object’s docstring and the docstrings of its contained objects. It can be used with modules, functions, classes, methods, staticmethods, classmethods, and properties.

For a function whose docstring contains examples, DocTestFinder.find() will return a single test (for that function’s docstring):

>>> finder = doctest.DocTestFinder()

We’ll simulate a __file__ attr that ends in pyc:

>>> import test.test_doctest
>>> old = test.test_doctest.__file__
>>> test.test_doctest.__file__ = 'test_doctest.pyc'
>>> tests = finder.find(sample_func)
>>> print(tests)  
[<DocTest sample_func from ...:18 (1 example)>]

The exact name depends on how test_doctest was invoked, so allow for leading path components.

>>> tests[0].filename 
'...test_doctest.py'
>>> test.test_doctest.__file__ = old
>>> e = tests[0].examples[0]
>>> (e.source, e.want, e.lineno)
('print(sample_func(22))\n', '44\n', 3)

By default, tests are created for objects with no docstring:

>>> def no_docstring(v):
...     pass
>>> finder.find(no_docstring)
[]

However, the optional argument exclude_empty to the DocTestFinder constructor can be used to exclude tests for objects with empty docstrings:

>>> def no_docstring(v):
...     pass
>>> excl_empty_finder = doctest.DocTestFinder(exclude_empty=True)
>>> excl_empty_finder.find(no_docstring)
[]

If the function has a docstring with no examples, then a test with no examples is returned. (This lets DocTestRunner collect statistics about which functions have no tests – but is that useful? And should an empty test also be created when there’s no docstring?)

>>> def no_examples(v):
...     ''' no doctest examples '''
>>> finder.find(no_examples) 
[<DocTest no_examples from ...:1 (no examples)>]

For a class, DocTestFinder will create a test for the class’s docstring, and will recursively explore its contents, including methods, classmethods, staticmethods, properties, and nested classes.

>>> finder = doctest.DocTestFinder()
>>> tests = finder.find(SampleClass)
>>> for t in tests:
...     print('%2s  %s' % (len(t.examples), t.name))
 3  SampleClass
 3  SampleClass.NestedClass
 1  SampleClass.NestedClass.__init__
 1  SampleClass.__init__
 2  SampleClass.a_classmethod
 1  SampleClass.a_property
 1  SampleClass.a_staticmethod
 1  SampleClass.double
 1  SampleClass.get

New-style classes are also supported:

>>> tests = finder.find(SampleNewStyleClass)
>>> for t in tests:
...     print('%2s  %s' % (len(t.examples), t.name))
 1  SampleNewStyleClass
 1  SampleNewStyleClass.__init__
 1  SampleNewStyleClass.double
 1  SampleNewStyleClass.get

For a module, DocTestFinder will create a test for the class’s docstring, and will recursively explore its contents, including functions, classes, and the __test__ dictionary, if it exists:

>>> # A module
>>> import types
>>> m = types.ModuleType('some_module')
>>> def triple(val):
...     '''
...     >>> print(triple(11))
...     33
...     '''
...     return val*3
>>> m.__dict__.update({
...     'sample_func': sample_func,
...     'SampleClass': SampleClass,
...     '__doc__': '''
...         Module docstring.
...             >>> print('module')
...             module
...         ''',
...     '__test__': {
...         'd': '>>> print(6)\n6\n>>> print(7)\n7\n',
...         'c': triple}})
>>> finder = doctest.DocTestFinder()
>>> # Use module=test.test_doctest, to prevent doctest from
>>> # ignoring the objects since they weren't defined in m.
>>> import test.test_doctest
>>> tests = finder.find(m, module=test.test_doctest)
>>> for t in tests:
...     print('%2s  %s' % (len(t.examples), t.name))
 1  some_module
 3  some_module.SampleClass
 3  some_module.SampleClass.NestedClass
 1  some_module.SampleClass.NestedClass.__init__
 1  some_module.SampleClass.__init__
 2  some_module.SampleClass.a_classmethod
 1  some_module.SampleClass.a_property
 1  some_module.SampleClass.a_staticmethod
 1  some_module.SampleClass.double
 1  some_module.SampleClass.get
 1  some_module.__test__.c
 2  some_module.__test__.d
 1  some_module.sample_func

If a single object is listed twice (under different names), then tests will only be generated for it once:

>>> from test import doctest_aliases
>>> assert doctest_aliases.TwoNames.f
>>> assert doctest_aliases.TwoNames.g
>>> tests = excl_empty_finder.find(doctest_aliases)
>>> print(len(tests))
2
>>> print(tests[0].name)
test.doctest_aliases.TwoNames

TwoNames.f and TwoNames.g are bound to the same object. We can’t guess which will be found in doctest’s traversal of TwoNames.__dict__ first, so we have to allow for either.

>>> tests[1].name.split('.')[-1] in ['f', 'g']
True

By default, an object with no doctests doesn’t create any tests:

>>> tests = doctest.DocTestFinder().find(SampleClass)
>>> for t in tests:
...     print('%2s  %s' % (len(t.examples), t.name))
 3  SampleClass
 3  SampleClass.NestedClass
 1  SampleClass.NestedClass.__init__
 1  SampleClass.__init__
 2  SampleClass.a_classmethod
 1  SampleClass.a_property
 1  SampleClass.a_staticmethod
 1  SampleClass.double
 1  SampleClass.get

By default, that excluded objects with no doctests. exclude_empty=False tells it to include (empty) tests for objects with no doctests. This feature is really to support backward compatibility in what doctest.master.summarize() displays.

>>> tests = doctest.DocTestFinder(exclude_empty=False).find(SampleClass)
>>> for t in tests:
...     print('%2s  %s' % (len(t.examples), t.name))
 3  SampleClass
 3  SampleClass.NestedClass
 1  SampleClass.NestedClass.__init__
 0  SampleClass.NestedClass.get
 0  SampleClass.NestedClass.square
 1  SampleClass.__init__
 2  SampleClass.a_classmethod
 1  SampleClass.a_property
 1  SampleClass.a_staticmethod
 1  SampleClass.double
 1  SampleClass.get

DocTestFinder can be told not to look for tests in contained objects using the recurse flag:

>>> tests = doctest.DocTestFinder(recurse=False).find(SampleClass)
>>> for t in tests:
...     print('%2s  %s' % (len(t.examples), t.name))
 3  SampleClass

DocTestFinder finds the line number of each example:

>>> def f(x):
...     '''
...     >>> x = 12
...
...     some text
...
...     >>> # examples are not created for comments & bare prompts.
...     >>>
...     ...
...
...     >>> for x in range(10):
...     ...     print(x, end=' ')
...     0 1 2 3 4 5 6 7 8 9
...     >>> x//2
...     6
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> [e.lineno for e in test.examples]
[1, 9, 12]
non_Python_modules()[source]

DocTestFinder can also find doctests in most modules not written in Python. We’ll use builtins as an example, since it almost certainly isn’t written in plain ol’ Python and is guaranteed to be available.

>>> import builtins
>>> tests = doctest.DocTestFinder().find(builtins)
>>> 790 < len(tests) < 800 # approximate number of objects with docstrings
True
>>> real_tests = [t for t in tests if len(t.examples) > 0]
>>> len(real_tests) # objects that actually have doctests
8
>>> for t in real_tests:
...     print('{}  {}'.format(len(t.examples), t.name))
...
1  builtins.bin
3  builtins.float.as_integer_ratio
2  builtins.float.fromhex
2  builtins.float.hex
1  builtins.hex
1  builtins.int
2  builtins.int.bit_length
1  builtins.oct

Note here that ‘bin’, ‘oct’, and ‘hex’ are functions; ‘float.as_integer_ratio’, ‘float.hex’, and ‘int.bit_length’ are methods; ‘float.fromhex’ is a classmethod, and ‘int’ is a type.

test.test_doctest.test_DocTestParser()[source]

Unit tests for the DocTestParser class.

DocTestParser is used to parse docstrings containing doctest examples.

The parse method divides a docstring into examples and intervening text:

>>> s = '''
...     >>> x, y = 2, 3  # no output expected
...     >>> if 1:
...     ...     print(x)
...     ...     print(y)
...     2
...     3
...
...     Some text.
...     >>> x+y
...     5
...     '''
>>> parser = doctest.DocTestParser()
>>> for piece in parser.parse(s):
...     if isinstance(piece, doctest.Example):
...         print('Example:', (piece.source, piece.want, piece.lineno))
...     else:
...         print('   Text:', repr(piece))
   Text: '\n'
Example: ('x, y = 2, 3  # no output expected\n', '', 1)
   Text: ''
Example: ('if 1:\n    print(x)\n    print(y)\n', '2\n3\n', 2)
   Text: '\nSome text.\n'
Example: ('x+y\n', '5\n', 9)
   Text: ''

The get_examples method returns just the examples:

>>> for piece in parser.get_examples(s):
...     print((piece.source, piece.want, piece.lineno))
('x, y = 2, 3  # no output expected\n', '', 1)
('if 1:\n    print(x)\n    print(y)\n', '2\n3\n', 2)
('x+y\n', '5\n', 9)

The get_doctest method creates a Test from the examples, along with the given arguments:

>>> test = parser.get_doctest(s, {}, 'name', 'filename', lineno=5)
>>> (test.name, test.filename, test.lineno)
('name', 'filename', 5)
>>> for piece in test.examples:
...     print((piece.source, piece.want, piece.lineno))
('x, y = 2, 3  # no output expected\n', '', 1)
('if 1:\n    print(x)\n    print(y)\n', '2\n3\n', 2)
('x+y\n', '5\n', 9)
class test.test_doctest.test_DocTestRunner[source]

Bases: object

basics()[source]

Unit tests for the DocTestRunner class.

DocTestRunner is used to run DocTest test cases, and to accumulate statistics. Here’s a simple DocTest case we can use:

>>> def f(x):
...     '''
...     >>> x = 12
...     >>> print(x)
...     12
...     >>> x//2
...     6
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]

The main DocTestRunner interface is the run method, which runs a given DocTest case in a given namespace (globs). It returns a tuple (f,t), where f is the number of failed tests and t is the number of tried tests.

>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=3)

If any example produces incorrect output, then the test runner reports the failure and proceeds to the next example:

>>> def f(x):
...     '''
...     >>> x = 12
...     >>> print(x)
...     14
...     >>> x//2
...     6
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=True).run(test)
... 
Trying:
    x = 12
Expecting nothing
ok
Trying:
    print(x)
Expecting:
    14
**********************************************************************
File ..., line 4, in f
Failed example:
    print(x)
Expected:
    14
Got:
    12
Trying:
    x//2
Expecting:
    6
ok
TestResults(failed=1, attempted=3)
displayhook()[source]

Test that changing sys.displayhook doesn’t matter for doctest.

>>> import sys
>>> orig_displayhook = sys.displayhook
>>> def my_displayhook(x):
...     print('hi!')
>>> sys.displayhook = my_displayhook
>>> def f():
...     '''
...     >>> 3
...     3
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> r = doctest.DocTestRunner(verbose=False).run(test)
>>> post_displayhook = sys.displayhook

We need to restore sys.displayhook now, so that we’ll be able to test results.

>>> sys.displayhook = orig_displayhook

Ok, now we can check that everything is ok.

>>> r
TestResults(failed=0, attempted=1)
>>> post_displayhook is my_displayhook
True
exceptions()[source]

Tests of DocTestRunner‘s exception handling.

An expected exception is specified with a traceback message. The lines between the first line and the type/value may be omitted or replaced with any other string:

>>> def f(x):
...     '''
...     >>> x = 12
...     >>> print(x//0)
...     Traceback (most recent call last):
...     ZeroDivisionError: integer division or modulo by zero
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

An example may not generate output before it raises an exception; if it does, then the traceback message will not be recognized as signaling an expected exception, so the example will be reported as an unexpected exception:

>>> def f(x):
...     '''
...     >>> x = 12
...     >>> print('pre-exception output', x//0)
...     pre-exception output
...     Traceback (most recent call last):
...     ZeroDivisionError: integer division or modulo by zero
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 4, in f
Failed example:
    print('pre-exception output', x//0)
Exception raised:
    ...
    ZeroDivisionError: integer division or modulo by zero
TestResults(failed=1, attempted=2)

Exception messages may contain newlines:

>>> def f(x):
...     r'''
...     >>> raise ValueError('multi\nline\nmessage')
...     Traceback (most recent call last):
...     ValueError: multi
...     line
...     message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=1)

If an exception is expected, but an exception with the wrong type or message is raised, then it is reported as a failure:

>>> def f(x):
...     r'''
...     >>> raise ValueError('message')
...     Traceback (most recent call last):
...     ValueError: wrong message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    raise ValueError('message')
Expected:
    Traceback (most recent call last):
    ValueError: wrong message
Got:
    Traceback (most recent call last):
    ...
    ValueError: message
TestResults(failed=1, attempted=1)

However, IGNORE_EXCEPTION_DETAIL can be used to allow a mismatch in the detail:

>>> def f(x):
...     r'''
...     >>> raise ValueError('message') 
...     Traceback (most recent call last):
...     ValueError: wrong message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=1)

IGNORE_EXCEPTION_DETAIL also ignores difference in exception formatting between Python versions. For example, in Python 2.x, the module path of the exception is not in the output, but this will fail under Python 3:

>>> def f(x):
...     r'''
...     >>> from http.client import HTTPException
...     >>> raise HTTPException('message')
...     Traceback (most recent call last):
...     HTTPException: message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 4, in f
Failed example:
    raise HTTPException('message')
Expected:
    Traceback (most recent call last):
    HTTPException: message
Got:
    Traceback (most recent call last):
    ...
    http.client.HTTPException: message
TestResults(failed=1, attempted=2)

But in Python 3 the module path is included, and therefore a test must look like the following test to succeed in Python 3. But that test will fail under Python 2.

>>> def f(x):
...     r'''
...     >>> from http.client import HTTPException
...     >>> raise HTTPException('message')
...     Traceback (most recent call last):
...     http.client.HTTPException: message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

However, with IGNORE_EXCEPTION_DETAIL, the module name of the exception (or its unexpected absence) will be ignored:

>>> def f(x):
...     r'''
...     >>> from http.client import HTTPException
...     >>> raise HTTPException('message') 
...     Traceback (most recent call last):
...     HTTPException: message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

The module path will be completely ignored, so two different module paths will still pass if IGNORE_EXCEPTION_DETAIL is given. This is intentional, so it can be used when exceptions have changed module.

>>> def f(x):
...     r'''
...     >>> from http.client import HTTPException
...     >>> raise HTTPException('message') 
...     Traceback (most recent call last):
...     foo.bar.HTTPException: message
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

But IGNORE_EXCEPTION_DETAIL does not allow a mismatch in the exception type:

>>> def f(x):
...     r'''
...     >>> raise ValueError('message') 
...     Traceback (most recent call last):
...     TypeError: wrong type
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    raise ValueError('message') 
Expected:
    Traceback (most recent call last):
    TypeError: wrong type
Got:
    Traceback (most recent call last):
    ...
    ValueError: message
TestResults(failed=1, attempted=1)

If the exception does not have a message, you can still use IGNORE_EXCEPTION_DETAIL to normalize the modules between Python 2 and 3:

>>> def f(x):
...     r'''
...     >>> from http.client import HTTPException
...     >>> raise HTTPException() 
...     Traceback (most recent call last):
...     foo.bar.HTTPException
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

Note that a trailing colon doesn’t matter either:

>>> def f(x):
...     r'''
...     >>> from http.client import HTTPException
...     >>> raise HTTPException() 
...     Traceback (most recent call last):
...     foo.bar.HTTPException:
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

If an exception is raised but not expected, then it is reported as an unexpected exception:

>>> def f(x):
...     r'''
...     >>> 1//0
...     0
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    1//0
Exception raised:
    Traceback (most recent call last):
    ...
    ZeroDivisionError: integer division or modulo by zero
TestResults(failed=1, attempted=1)
option_directives()[source]

Tests of DocTestRunner‘s option directive mechanism.

Option directives can be used to turn option flags on or off for a single example. To turn an option on for an example, follow that example with a comment of the form # doctest: +OPTION:

>>> def f(x): r'''
...     >>> print(list(range(10)))      # should fail: no ellipsis
...     [0, 1, ..., 9]
...
...     >>> print(list(range(10)))      
...     [0, 1, ..., 9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(list(range(10)))      # should fail: no ellipsis
Expected:
    [0, 1, ..., 9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TestResults(failed=1, attempted=2)

To turn an option off for an example, follow that example with a comment of the form # doctest: -OPTION:

>>> def f(x): r'''
...     >>> print(list(range(10)))
...     [0, 1, ..., 9]
...
...     >>> # should fail: no ellipsis
...     >>> print(list(range(10)))      
...     [0, 1, ..., 9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False,
...                       optionflags=doctest.ELLIPSIS).run(test)
... 
**********************************************************************
File ..., line 6, in f
Failed example:
    print(list(range(10)))      
Expected:
    [0, 1, ..., 9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TestResults(failed=1, attempted=2)

Option directives affect only the example that they appear with; they do not change the options for surrounding examples:

>>> def f(x): r'''
...     >>> print(list(range(10)))      # Should fail: no ellipsis
...     [0, 1, ..., 9]
...
...     >>> print(list(range(10)))      
...     [0, 1, ..., 9]
...
...     >>> print(list(range(10)))      # Should fail: no ellipsis
...     [0, 1, ..., 9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(list(range(10)))      # Should fail: no ellipsis
Expected:
    [0, 1, ..., 9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
**********************************************************************
File ..., line 8, in f
Failed example:
    print(list(range(10)))      # Should fail: no ellipsis
Expected:
    [0, 1, ..., 9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TestResults(failed=2, attempted=3)

Multiple options may be modified by a single option directive. They may be separated by whitespace, commas, or both:

>>> def f(x): r'''
...     >>> print(list(range(10)))      # Should fail
...     [0, 1,  ...,   9]
...     >>> print(list(range(10)))      # Should succeed
...     ... 
...     [0, 1,  ...,   9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(list(range(10)))      # Should fail
Expected:
    [0, 1,  ...,   9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TestResults(failed=1, attempted=2)
>>> def f(x): r'''
...     >>> print(list(range(10)))      # Should fail
...     [0, 1,  ...,   9]
...     >>> print(list(range(10)))      # Should succeed
...     ... 
...     [0, 1,  ...,   9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(list(range(10)))      # Should fail
Expected:
    [0, 1,  ...,   9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TestResults(failed=1, attempted=2)
>>> def f(x): r'''
...     >>> print(list(range(10)))      # Should fail
...     [0, 1,  ...,   9]
...     >>> print(list(range(10)))      # Should succeed
...     ... 
...     [0, 1,  ...,   9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(list(range(10)))      # Should fail
Expected:
    [0, 1,  ...,   9]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TestResults(failed=1, attempted=2)

The option directive may be put on the line following the source, as long as a continuation prompt is used:

>>> def f(x): r'''
...     >>> print(list(range(10)))
...     ... 
...     [0, 1, ..., 9]
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=1)

For examples with multi-line source, the option directive may appear at the end of any line:

>>> def f(x): r'''
...     >>> for x in range(10): 
...     ...     print(' ', x, end='', sep='')
...      0 1 2 ... 9
...
...     >>> for x in range(10):
...     ...     print(' ', x, end='', sep='') 
...      0 1 2 ... 9
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=2)

If more than one line of an example with multi-line source has an option directive, then they are combined:

>>> def f(x): r'''
...     Should fail (option directive not on the last line):
...         >>> for x in range(10): 
...         ...     print(x, end=' ') 
...         0  1    2...9
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=1)

It is an error to have a comment of the form # doctest: that is not followed by words of the form +OPTION or -OPTION, where OPTION is an option that has been registered with register_option:

>>> # Error: Option not registered
>>> s = '>>> print(12)  
>>> test = doctest.DocTestParser().get_doctest(s, {}, 's', 's.py', 0)
Traceback (most recent call last):
ValueError: line 1 of the doctest for s has an invalid option: '+BADOPTION'
>>> # Error: No + or - prefix
>>> s = '>>> print(12)  
>>> test = doctest.DocTestParser().get_doctest(s, {}, 's', 's.py', 0)
Traceback (most recent call last):
ValueError: line 1 of the doctest for s has an invalid option: 'ELLIPSIS'

It is an error to use an option directive on a line that contains no source:

>>> s = '>>> 
>>> test = doctest.DocTestParser().get_doctest(s, {}, 's', 's.py', 0)
Traceback (most recent call last):
ValueError: line 0 of the doctest for s has an option directive on a line with no example: '
optionflags()[source]

Tests of DocTestRunner‘s option flag handling.

Several option flags can be used to customize the behavior of the test runner. These are defined as module constants in doctest, and passed to the DocTestRunner constructor (multiple constants should be ORed together).

The DONT_ACCEPT_TRUE_FOR_1 flag disables matches between True/False and 1/0:

>>> def f(x):
...     '>>> True\n1\n'
>>> # Without the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=1)
>>> # With the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.DONT_ACCEPT_TRUE_FOR_1
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    True
Expected:
    1
Got:
    True
TestResults(failed=1, attempted=1)

The DONT_ACCEPT_BLANKLINE flag disables the match between blank lines and the ‘<BLANKLINE>’ marker:

>>> def f(x):
...     '>>> print("a\\n\\nb")\na\n<BLANKLINE>\nb\n'
>>> # Without the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
TestResults(failed=0, attempted=1)
>>> # With the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.DONT_ACCEPT_BLANKLINE
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print("a\n\nb")
Expected:
    a

    b
Got:
    a

    b
TestResults(failed=1, attempted=1)

The NORMALIZE_WHITESPACE flag causes all sequences of whitespace to be treated as equal:

>>> def f(x):
...     '>>> print(1, 2, 3)\n  1   2\n 3'
>>> # Without the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(1, 2, 3)
Expected:
      1   2
     3
Got:
    1 2 3
TestResults(failed=1, attempted=1)
>>> # With the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.NORMALIZE_WHITESPACE
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
TestResults(failed=0, attempted=1)

An example from the docs: >>> print(list(range(20))) #doctest: +NORMALIZE_WHITESPACE [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

The ELLIPSIS flag causes ellipsis marker (”...”) in the expected output to match any substring in the actual output:

>>> def f(x):
...     '>>> print(list(range(15)))\n[0, 1, 2, ..., 14]\n'
>>> # Without the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 2, in f
Failed example:
    print(list(range(15)))
Expected:
    [0, 1, 2, ..., 14]
Got:
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
TestResults(failed=1, attempted=1)
>>> # With the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.ELLIPSIS
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
TestResults(failed=0, attempted=1)

... also matches nothing:

>>> if 1:
...     for i in range(100):
...         print(i**2, end=' ') 
...     print('!')
0 1...4...9 16 ... 36 49 64 ... 9801 !

... can be surprising; e.g., this test passes:

>>> if 1:  
...     for i in range(20):
...         print(i, end=' ')
...     print(20)
0 1 2 ...1...2...0

Examples from the docs:

>>> print(list(range(20))) 
[0, 1, ..., 18, 19]
>>> print(list(range(20))) 
...                 
[0,    1, ...,   18,    19]

The SKIP flag causes an example to be skipped entirely. I.e., the example is not run. It can be useful in contexts where doctest examples serve as both documentation and test cases, and an example should be included for documentation purposes, but should not be checked (e.g., because its output is random, or depends on resources which would be unavailable.) The SKIP flag can also be used for ‘commenting out’ broken examples.

>>> import unavailable_resource           
>>> unavailable_resource.do_something()   
>>> unavailable_resource.blow_up()        
Traceback (most recent call last):
    ...
UncheckedBlowUpError:  Nobody checks me.
>>> import random
>>> print(random.random()) 
0.721216923889

The REPORT_UDIFF flag causes failures that involve multi-line expected and actual outputs to be displayed using a unified diff:

>>> def f(x):
...     r'''
...     >>> print('\n'.join('abcdefg'))
...     a
...     B
...     c
...     d
...     f
...     g
...     h
...     '''
>>> # Without the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=False).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    print('\n'.join('abcdefg'))
Expected:
    a
    B
    c
    d
    f
    g
    h
Got:
    a
    b
    c
    d
    e
    f
    g
TestResults(failed=1, attempted=1)
>>> # With the flag:
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.REPORT_UDIFF
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    print('\n'.join('abcdefg'))
Differences (unified diff with -expected +actual):
    @@ -1,7 +1,7 @@
     a
    -B
    +b
     c
     d
    +e
     f
     g
    -h
TestResults(failed=1, attempted=1)

The REPORT_CDIFF flag causes failures that involve multi-line expected and actual outputs to be displayed using a context diff:

>>> # Reuse f() from the REPORT_UDIFF example, above.
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.REPORT_CDIFF
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    print('\n'.join('abcdefg'))
Differences (context diff with expected followed by actual):
    ***************
    *** 1,7 ****
      a
    ! B
      c
      d
      f
      g
    - h
    --- 1,7 ----
      a
    ! b
      c
      d
    + e
      f
      g
TestResults(failed=1, attempted=1)

The REPORT_NDIFF flag causes failures to use the difflib.Differ algorithm used by the popular ndiff.py utility. This does intraline difference marking, as well as interline differences.

>>> def f(x):
...     r'''
...     >>> print("a b  c d e f g h i   j k l m")
...     a b c d e f g h i j k 1 m
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.REPORT_NDIFF
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 3, in f
Failed example:
    print("a b  c d e f g h i   j k l m")
Differences (ndiff with -expected +actual):
    - a b c d e f g h i j k 1 m
    ?                       ^
    + a b  c d e f g h i   j k l m
    ?     +              ++    ^
TestResults(failed=1, attempted=1)

The REPORT_ONLY_FIRST_FAILURE suppresses result output after the first failing example:

>>> def f(x):
...     r'''
...     >>> print(1) # first success
...     1
...     >>> print(2) # first failure
...     200
...     >>> print(3) # second failure
...     300
...     >>> print(4) # second success
...     4
...     >>> print(5) # third failure
...     500
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.REPORT_ONLY_FIRST_FAILURE
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 5, in f
Failed example:
    print(2) # first failure
Expected:
    200
Got:
    2
TestResults(failed=3, attempted=5)

However, output from report_start is not suppressed:

>>> doctest.DocTestRunner(verbose=True, optionflags=flags).run(test)
... 
Trying:
    print(1) # first success
Expecting:
    1
ok
Trying:
    print(2) # first failure
Expecting:
    200
**********************************************************************
File ..., line 5, in f
Failed example:
    print(2) # first failure
Expected:
    200
Got:
    2
TestResults(failed=3, attempted=5)

The FAIL_FAST flag causes the runner to exit after the first failing example, so subsequent examples are not even attempted:

>>> flags = doctest.FAIL_FAST
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 5, in f
Failed example:
    print(2) # first failure
Expected:
    200
Got:
    2
TestResults(failed=1, attempted=2)

Specifying both FAIL_FAST and REPORT_ONLY_FIRST_FAILURE is equivalent to FAIL_FAST only:

>>> flags = doctest.FAIL_FAST | doctest.REPORT_ONLY_FIRST_FAILURE
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 5, in f
Failed example:
    print(2) # first failure
Expected:
    200
Got:
    2
TestResults(failed=1, attempted=2)

For the purposes of both REPORT_ONLY_FIRST_FAILURE and FAIL_FAST, unexpected exceptions count as failures:

>>> def f(x):
...     r'''
...     >>> print(1) # first success
...     1
...     >>> raise ValueError(2) # first failure
...     200
...     >>> print(3) # second failure
...     300
...     >>> print(4) # second success
...     4
...     >>> print(5) # third failure
...     500
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> flags = doctest.REPORT_ONLY_FIRST_FAILURE
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 5, in f
Failed example:
    raise ValueError(2) # first failure
Exception raised:
    ...
    ValueError: 2
TestResults(failed=3, attempted=5)
>>> flags = doctest.FAIL_FAST
>>> doctest.DocTestRunner(verbose=False, optionflags=flags).run(test)
... 
**********************************************************************
File ..., line 5, in f
Failed example:
    raise ValueError(2) # first failure
Exception raised:
    ...
    ValueError: 2
TestResults(failed=1, attempted=2)

New option flags can also be registered, via register_optionflag(). Here we reach into doctest’s internals a bit.

>>> unlikely = "UNLIKELY_OPTION_NAME"
>>> unlikely in doctest.OPTIONFLAGS_BY_NAME
False
>>> new_flag_value = doctest.register_optionflag(unlikely)
>>> unlikely in doctest.OPTIONFLAGS_BY_NAME
True

Before 2.4.4/2.5, registering a name more than once erroneously created more than one flag value. Here we verify that’s fixed:

>>> redundant_flag_value = doctest.register_optionflag(unlikely)
>>> redundant_flag_value == new_flag_value
True
Clean up.
>>> del doctest.OPTIONFLAGS_BY_NAME[unlikely]
verbose_flag()[source]

The verbose flag makes the test runner generate more detailed output:

>>> def f(x):
...     '''
...     >>> x = 12
...     >>> print(x)
...     12
...     >>> x//2
...     6
...     '''
>>> test = doctest.DocTestFinder().find(f)[0]
>>> doctest.DocTestRunner(verbose=True).run(test)
Trying:
    x = 12
Expecting nothing
ok
Trying:
    print(x)
Expecting:
    12
ok
Trying:
    x//2
Expecting:
    6
ok
TestResults(failed=0, attempted=3)

If the verbose flag is unspecified, then the output will be verbose iff -v appears in sys.argv:

>>> # Save the real sys.argv list.
>>> old_argv = sys.argv
>>> # If -v does not appear in sys.argv, then output isn't verbose.
>>> sys.argv = ['test']
>>> doctest.DocTestRunner().run(test)
TestResults(failed=0, attempted=3)
>>> # If -v does appear in sys.argv, then output is verbose.
>>> sys.argv = ['test', '-v']
>>> doctest.DocTestRunner().run(test)
Trying:
    x = 12
Expecting nothing
ok
Trying:
    print(x)
Expecting:
    12
ok
Trying:
    x//2
Expecting:
    6
ok
TestResults(failed=0, attempted=3)
>>> # Restore sys.argv
>>> sys.argv = old_argv

In the remaining examples, the test runner’s verbosity will be explicitly set, to ensure that the test behavior is consistent.

test.test_doctest.test_DocTestSuite()[source]

DocTestSuite creates a unittest test suite from a doctest.

We create a Suite by providing a module. A module can be provided by passing a module object:

>>> import unittest
>>> import test.sample_doctest
>>> suite = doctest.DocTestSuite(test.sample_doctest)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=4>

We can also supply the module by name:

>>> suite = doctest.DocTestSuite('test.sample_doctest')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=4>

The module need not contain any doctest examples:

>>> suite = doctest.DocTestSuite('test.sample_doctest_no_doctests')
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=0 errors=0 failures=0>

However, if DocTestSuite finds no docstrings, it raises an error:

>>> try:
...     doctest.DocTestSuite('test.sample_doctest_no_docstrings')
... except ValueError as e:
...     error = e
>>> print(error.args[1])
has no docstrings

You can prevent this error by passing a DocTestFinder instance with the exclude_empty keyword argument set to False:

>>> finder = doctest.DocTestFinder(exclude_empty=False)
>>> suite = doctest.DocTestSuite('test.sample_doctest_no_docstrings',
...                              test_finder=finder)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=0 errors=0 failures=0>

We can use the current module:

>>> suite = test.sample_doctest.test_suite()
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=4>

We can supply global variables. If we pass globs, they will be used instead of the module globals. Here we’ll pass an empty globals, triggering an extra error:

>>> suite = doctest.DocTestSuite('test.sample_doctest', globs={})
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=5>

Alternatively, we can provide extra globals. Here we’ll make an error go away by providing an extra global variable:

>>> suite = doctest.DocTestSuite('test.sample_doctest',
...                              extraglobs={'y': 1})
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=3>

You can pass option flags. Here we’ll cause an extra error by disabling the blank-line feature:

>>> suite = doctest.DocTestSuite('test.sample_doctest',
...                      optionflags=doctest.DONT_ACCEPT_BLANKLINE)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=5>

You can supply setUp and tearDown functions:

>>> def setUp(t):
...     import test.test_doctest
...     test.test_doctest.sillySetup = True
>>> def tearDown(t):
...     import test.test_doctest
...     del test.test_doctest.sillySetup

Here, we installed a silly variable that the test expects:

>>> suite = doctest.DocTestSuite('test.sample_doctest',
...      setUp=setUp, tearDown=tearDown)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=3>

But the tearDown restores sanity:

>>> import test.test_doctest
>>> test.test_doctest.sillySetup
Traceback (most recent call last):
...
AttributeError: 'module' object has no attribute 'sillySetup'

The setUp and tearDown funtions are passed test objects. Here we’ll use the setUp function to supply the missing variable y:

>>> def setUp(test):
...     test.globs['y'] = 1
>>> suite = doctest.DocTestSuite('test.sample_doctest', setUp=setUp)
>>> suite.run(unittest.TestResult())
<unittest.result.TestResult run=9 errors=0 failures=3>

Here, we didn’t need to use a tearDown function because we modified the test globals, which are a copy of the sample_doctest module dictionary. The test globals are automatically cleared for us after a test.

test.test_doctest.test_Example()[source]

Unit tests for the Example class.

Example is a simple container class that holds:
  • source: A source string.
  • want: An expected output string.
  • exc_msg: An expected exception message string (or None if no exception is expected).
  • lineno: A line number (within the docstring).
  • indent: The example’s indentation in the input string.
  • options: An option dictionary, mapping option flags to True or False.

These attributes are set by the constructor. source and want are required; the other attributes all have default values:

>>> example = doctest.Example('print(1)', '1\n')
>>> (example.source, example.want, example.exc_msg,
...  example.lineno, example.indent, example.options)
('print(1)\n', '1\n', None, 0, 0, {})

The first three attributes (source, want, and exc_msg) may be specified positionally; the remaining arguments should be specified as keyword arguments:

>>> exc_msg = 'IndexError: pop from an empty list'
>>> example = doctest.Example('[].pop()', '', exc_msg,
...                           lineno=5, indent=4,
...                           options={doctest.ELLIPSIS: True})
>>> (example.source, example.want, example.exc_msg,
...  example.lineno, example.indent, example.options)
('[].pop()\n', '', 'IndexError: pop from an empty list\n', 5, 4, {8: True})

The constructor normalizes the source string to end in a newline:

Source spans a single line: no terminating newline. >>> e = doctest.Example(‘print(1)’, ‘1n’) >>> e.source, e.want (‘print(1)n’, ‘1n’)

>>> e = doctest.Example('print(1)\n', '1\n')
>>> e.source, e.want
('print(1)\n', '1\n')

Source spans multiple lines: require terminating newline. >>> e = doctest.Example(‘print(1);nprint(2)n’, ‘1n2n’) >>> e.source, e.want (‘print(1);nprint(2)n’, ‘1n2n’)

>>> e = doctest.Example('print(1);\nprint(2)', '1\n2\n')
>>> e.source, e.want
('print(1);\nprint(2)\n', '1\n2\n')

Empty source string (which should never appear in real examples) >>> e = doctest.Example(‘’, ‘’) >>> e.source, e.want (‘n’, ‘’)

The constructor normalizes the want string to end in a newline, unless it’s the empty string:

>>> e = doctest.Example('print(1)', '1\n')
>>> e.source, e.want
('print(1)\n', '1\n')
>>> e = doctest.Example('print(1)', '1')
>>> e.source, e.want
('print(1)\n', '1\n')
>>> e = doctest.Example('print', '')
>>> e.source, e.want
('print\n', '')

The constructor normalizes the exc_msg string to end in a newline, unless it’s None:

Message spans one line >>> exc_msg = ‘IndexError: pop from an empty list’ >>> e = doctest.Example(‘[].pop()’, ‘’, exc_msg) >>> e.exc_msg ‘IndexError: pop from an empty listn’

>>> exc_msg = 'IndexError: pop from an empty list\n'
>>> e = doctest.Example('[].pop()', '', exc_msg)
>>> e.exc_msg
'IndexError: pop from an empty list\n'

Message spans multiple lines >>> exc_msg = ‘ValueError: 1n 2’ >>> e = doctest.Example(‘raise ValueError(“1n 2”)’, ‘’, exc_msg) >>> e.exc_msg ‘ValueError: 1n 2n’

>>> exc_msg = 'ValueError: 1\n  2\n'
>>> e = doctest.Example('raise ValueError("1\n  2")', '', exc_msg)
>>> e.exc_msg
'ValueError: 1\n  2\n'

Empty (but non-None) exception message (which should never appear in real examples) >>> exc_msg = ‘’ >>> e = doctest.Example(‘raise X()’, ‘’, exc_msg) >>> e.exc_msg ‘n’

Compare Example:
>>> example = doctest.Example('print 1', '1\n')
>>> same_example = doctest.Example('print 1', '1\n')
>>> other_example = doctest.Example('print 42', '42\n')
>>> example == same_example
True
>>> example != same_example
False
>>> hash(example) == hash(same_example)
True
>>> example == other_example
False
>>> example != other_example
True
test.test_doctest.test_coverage(coverdir)[source]
test.test_doctest.test_debug()[source]

Create a docstring that we want to debug:

>>> s = '''
...     >>> x = 12
...     >>> print(x)
...     12
...     '''

Create some fake stdin input, to feed to the debugger:

>>> real_stdin = sys.stdin
>>> sys.stdin = _FakeInput(['next', 'print(x)', 'continue'])

Run the debugger on the docstring, and then restore sys.stdin.

>>> try: doctest.debug_src(s)
... finally: sys.stdin = real_stdin
> <string>(1)<module>()
(Pdb) next
12
--Return--
> <string>(1)<module>()->None
(Pdb) print(x)
12
(Pdb) continue
test.test_doctest.test_main()[source]
test.test_doctest.test_pdb_set_trace()[source]

Using pdb.set_trace from a doctest.

You can use pdb.set_trace from a doctest. To do so, you must retrieve the set_trace function from the pdb module at the time you use it. The doctest module changes sys.stdout so that it can capture program output. It also temporarily replaces pdb.set_trace with a version that restores stdout. This is necessary for you to see debugger output.

>>> doc = '''
... >>> x = 42
... >>> raise Exception('clé')
... Traceback (most recent call last):
... Exception: clé
... >>> import pdb; pdb.set_trace()
... '''
>>> parser = doctest.DocTestParser()
>>> test = parser.get_doctest(doc, {}, "foo-bar@baz", "foo-bar@baz.py", 0)
>>> runner = doctest.DocTestRunner(verbose=False)

To demonstrate this, we’ll create a fake standard input that captures our debugger input:

>>> import tempfile
>>> real_stdin = sys.stdin
>>> sys.stdin = _FakeInput([
...    'print(x)',  # print data defined by the example
...    'continue', # stop debugging
...    ''])
>>> try: runner.run(test)
... finally: sys.stdin = real_stdin
--Return--
> <doctest foo-bar@baz[2]>(1)<module>()->None
-> import pdb; pdb.set_trace()
(Pdb) print(x)
42
(Pdb) continue
TestResults(failed=0, attempted=3)

You can also put pdb.set_trace in a function called from a test:

>>> def calls_set_trace():
...    y=2
...    import pdb; pdb.set_trace()
>>> doc = '''
... >>> x=1
... >>> calls_set_trace()
... '''
>>> test = parser.get_doctest(doc, globals(), "foo-bar@baz", "foo-bar@baz.py", 0)
>>> real_stdin = sys.stdin
>>> sys.stdin = _FakeInput([
...    'print(y)',  # print data defined in the function
...    'up',       # out of function
...    'print(x)',  # print data defined by the example
...    'continue', # stop debugging
...    ''])
>>> try:
...     runner.run(test)
... finally:
...     sys.stdin = real_stdin
--Return--
> <doctest test.test_doctest.test_pdb_set_trace[8]>(3)calls_set_trace()->None
-> import pdb; pdb.set_trace()
(Pdb) print(y)
2
(Pdb) up
> <doctest foo-bar@baz[1]>(1)<module>()
-> calls_set_trace()
(Pdb) print(x)
1
(Pdb) continue
TestResults(failed=0, attempted=2)

During interactive debugging, source code is shown, even for doctest examples:

>>> doc = '''
... >>> def f(x):
... ...     g(x*2)
... >>> def g(x):
... ...     print(x+3)
... ...     import pdb; pdb.set_trace()
... >>> f(3)
... '''
>>> test = parser.get_doctest(doc, globals(), "foo-bar@baz", "foo-bar@baz.py", 0)
>>> real_stdin = sys.stdin
>>> sys.stdin = _FakeInput([
...    'list',     # list source from example 2
...    'next',     # return from g()
...    'list',     # list source from example 1
...    'next',     # return from f()
...    'list',     # list source from example 3
...    'continue', # stop debugging
...    ''])
>>> try: runner.run(test)
... finally: sys.stdin = real_stdin
... 
--Return--
> <doctest foo-bar@baz[1]>(3)g()->None
-> import pdb; pdb.set_trace()
(Pdb) list
  1     def g(x):
  2         print(x+3)
  3  ->     import pdb; pdb.set_trace()
[EOF]
(Pdb) next
--Return--
> <doctest foo-bar@baz[0]>(2)f()->None
-> g(x*2)
(Pdb) list
  1     def f(x):
  2  ->     g(x*2)
[EOF]
(Pdb) next
--Return--
> <doctest foo-bar@baz[2]>(1)<module>()->None
-> f(3)
(Pdb) list
  1  -> f(3)
[EOF]
(Pdb) continue
**********************************************************************
File "foo-bar@baz.py", line 7, in foo-bar@baz
Failed example:
    f(3)
Expected nothing
Got:
    9
TestResults(failed=1, attempted=3)
test.test_doctest.test_pdb_set_trace_nested()[source]

This illustrates more-demanding use of set_trace with nested functions.

>>> class C(object):
...     def calls_set_trace(self):
...         y = 1
...         import pdb; pdb.set_trace()
...         self.f1()
...         y = 2
...     def f1(self):
...         x = 1
...         self.f2()
...         x = 2
...     def f2(self):
...         z = 1
...         z = 2
>>> calls_set_trace = C().calls_set_trace
>>> doc = '''
... >>> a = 1
... >>> calls_set_trace()
... '''
>>> parser = doctest.DocTestParser()
>>> runner = doctest.DocTestRunner(verbose=False)
>>> test = parser.get_doctest(doc, globals(), "foo-bar@baz", "foo-bar@baz.py", 0)
>>> real_stdin = sys.stdin
>>> sys.stdin = _FakeInput([
...    'print(y)',  # print data defined in the function
...    'step', 'step', 'step', 'step', 'step', 'step', 'print(z)',
...    'up', 'print(x)',
...    'up', 'print(y)',
...    'up', 'print(foo)',
...    'continue', # stop debugging
...    ''])
>>> try:
...     runner.run(test)
... finally:
...     sys.stdin = real_stdin
... 
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(5)calls_set_trace()
-> self.f1()
(Pdb) print(y)
1
(Pdb) step
--Call--
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(7)f1()
-> def f1(self):
(Pdb) step
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(8)f1()
-> x = 1
(Pdb) step
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(9)f1()
-> self.f2()
(Pdb) step
--Call--
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(11)f2()
-> def f2(self):
(Pdb) step
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(12)f2()
-> z = 1
(Pdb) step
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(13)f2()
-> z = 2
(Pdb) print(z)
1
(Pdb) up
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(9)f1()
-> self.f2()
(Pdb) print(x)
1
(Pdb) up
> <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(5)calls_set_trace()
-> self.f1()
(Pdb) print(y)
1
(Pdb) up
> <doctest foo-bar@baz[1]>(1)<module>()
-> calls_set_trace()
(Pdb) print(foo)
*** NameError: name 'foo' is not defined
(Pdb) continue
TestResults(failed=0, attempted=2)
test.test_doctest.test_testfile()[source]

Tests for the testfile() function. This function runs all the doctest examples in a given file. In its simple invokation, it is called with the name of a file, which is taken to be relative to the calling module. The return value is (#failures, #tests).

We don’t want -v in sys.argv for these tests.

>>> save_argv = sys.argv
>>> if '-v' in sys.argv:
...     sys.argv = [arg for arg in save_argv if arg != '-v']
>>> doctest.testfile('test_doctest.txt') 
**********************************************************************
File "...", line 6, in test_doctest.txt
Failed example:
    favorite_color
Exception raised:
    ...
    NameError: name 'favorite_color' is not defined
**********************************************************************
1 items had failures:
   1 of   2 in test_doctest.txt
***Test Failed*** 1 failures.
TestResults(failed=1, attempted=2)
>>> doctest.master = None  # Reset master.

(Note: we’ll be clearing doctest.master after each call to doctest.testfile, to suppress warnings about multiple tests with the same name.)

Globals may be specified with the globs and extraglobs parameters:

>>> globs = {'favorite_color': 'blue'}
>>> doctest.testfile('test_doctest.txt', globs=globs)
TestResults(failed=0, attempted=2)
>>> doctest.master = None  # Reset master.
>>> extraglobs = {'favorite_color': 'red'}
>>> doctest.testfile('test_doctest.txt', globs=globs,
...                  extraglobs=extraglobs) 
**********************************************************************
File "...", line 6, in test_doctest.txt
Failed example:
    favorite_color
Expected:
    'blue'
Got:
    'red'
**********************************************************************
1 items had failures:
   1 of   2 in test_doctest.txt
***Test Failed*** 1 failures.
TestResults(failed=1, attempted=2)
>>> doctest.master = None  # Reset master.

The file may be made relative to a given module or package, using the optional module_relative parameter:

>>> doctest.testfile('test_doctest.txt', globs=globs,
...                  module_relative='test')
TestResults(failed=0, attempted=2)
>>> doctest.master = None  # Reset master.

Verbosity can be increased with the optional verbose parameter:

>>> doctest.testfile('test_doctest.txt', globs=globs, verbose=True)
Trying:
    favorite_color
Expecting:
    'blue'
ok
Trying:
    if 1:
       print('a')
       print()
       print('b')
Expecting:
    a

    b
ok
1 items passed all tests:
   2 tests in test_doctest.txt
2 tests in 1 items.
2 passed and 0 failed.
Test passed.
TestResults(failed=0, attempted=2)
>>> doctest.master = None  # Reset master.

The name of the test may be specified with the optional name parameter:

>>> doctest.testfile('test_doctest.txt', name='newname')
... 
**********************************************************************
File "...", line 6, in newname
...
TestResults(failed=1, attempted=2)
>>> doctest.master = None  # Reset master.

The summary report may be suppressed with the optional report parameter:

>>> doctest.testfile('test_doctest.txt', report=False)
... 
**********************************************************************
File "...", line 6, in test_doctest.txt
Failed example:
    favorite_color
Exception raised:
    ...
    NameError: name 'favorite_color' is not defined
TestResults(failed=1, attempted=2)
>>> doctest.master = None  # Reset master.

The optional keyword argument raise_on_error can be used to raise an exception on the first error (which may be useful for postmortem debugging):

>>> doctest.testfile('test_doctest.txt', raise_on_error=True)
... 
Traceback (most recent call last):
doctest.UnexpectedException: ...
>>> doctest.master = None  # Reset master.

If the tests contain non-ASCII characters, the tests might fail, since it’s unknown which encoding is used. The encoding can be specified using the optional keyword argument encoding:

>>> doctest.testfile('test_doctest4.txt', encoding='latin-1') 
**********************************************************************
File "...", line 7, in test_doctest4.txt
Failed example:
    '...'
Expected:
    'f\xf6\xf6'
Got:
    'f\xc3\xb6\xc3\xb6'
**********************************************************************
...
**********************************************************************
1 items had failures:
   2 of   2 in test_doctest4.txt
***Test Failed*** 2 failures.
TestResults(failed=2, attempted=2)
>>> doctest.master = None  # Reset master.
>>> doctest.testfile('test_doctest4.txt', encoding='utf-8')
TestResults(failed=0, attempted=2)
>>> doctest.master = None  # Reset master.

Test the verbose output:

>>> doctest.testfile('test_doctest4.txt', encoding='utf-8', verbose=True)
Trying:
    'föö'
Expecting:
    'f\xf6\xf6'
ok
Trying:
    'bąr'
Expecting:
    'b\u0105r'
ok
1 items passed all tests:
   2 tests in test_doctest4.txt
2 tests in 1 items.
2 passed and 0 failed.
Test passed.
TestResults(failed=0, attempted=2)
>>> doctest.master = None  # Reset master.
>>> sys.argv = save_argv
test.test_doctest.test_testmod()[source]

Tests for the testmod function. More might be useful, but for now we’re just testing the case raised by Issue 6195, where trying to doctest a C module would fail with a UnicodeDecodeError because doctest tried to read the “source” lines out of the binary module.

>>> import unicodedata
>>> doctest.testmod(unicodedata, verbose=False)
TestResults(failed=0, attempted=0)
test.test_doctest.test_testsource()[source]

Unit tests for testsource().

The testsource() function takes a module and a name, finds the (first) test with that name in that module, and converts it to a script. The example code is converted to regular Python code. The surrounding words and expected output are converted to comments:

>>> import test.test_doctest
>>> name = 'test.test_doctest.sample_func'
>>> print(doctest.testsource(test.test_doctest, name))
# Blah blah
#
print(sample_func(22))
# Expected:
## 44
#
# Yee ha!
>>> name = 'test.test_doctest.SampleNewStyleClass'
>>> print(doctest.testsource(test.test_doctest, name))
print('1\n2\n3')
# Expected:
## 1
## 2
## 3
>>> name = 'test.test_doctest.SampleClass.a_classmethod'
>>> print(doctest.testsource(test.test_doctest, name))
print(SampleClass.a_classmethod(10))
# Expected:
## 12
print(SampleClass(0).a_classmethod(10))
# Expected:
## 12
test.test_doctest.test_trailing_space_in_test()[source]

Trailing spaces in expected output are significant:

>>> x, y = 'foo', ''
>>> print(x, y)
foo 
test.test_doctest.test_unicode()[source]

Check doctest with a non-ascii filename:

>>> doc = '''
... >>> raise Exception('clé')
... '''
...
>>> parser = doctest.DocTestParser()
>>> test = parser.get_doctest(doc, {}, "foo-bär@baz", "foo-bär@baz.py", 0)
>>> test
<DocTest foo-bär@baz from foo-bär@baz.py:0 (1 example)>
>>> runner = doctest.DocTestRunner(verbose=False)
>>> runner.run(test) 
**********************************************************************
File "foo-bär@baz.py", line 2, in foo-bär@baz
Failed example:
    raise Exception('clé')
Exception raised:
    Traceback (most recent call last):
      File ...
        compileflags, 1), test.globs)
      File "<doctest foo-bär@baz[0]>", line 1, in <module>
        raise Exception('clé')
    Exception: clé
TestResults(failed=1, attempted=1)
test.test_doctest.test_unittest_reportflags()[source]

Default unittest reporting flags can be set to control reporting

Here, we’ll set the REPORT_ONLY_FIRST_FAILURE option so we see only the first failure of each test. First, we’ll look at the output without the flag. The file test_doctest.txt file has two tests. They both fail if blank lines are disabled:

>>> suite = doctest.DocFileSuite('test_doctest.txt',
...                          optionflags=doctest.DONT_ACCEPT_BLANKLINE)
>>> import unittest
>>> result = suite.run(unittest.TestResult())
>>> print(result.failures[0][1]) 
Traceback ...
Failed example:
    favorite_color
...
Failed example:
    if 1:
...

Note that we see both failures displayed.

>>> old = doctest.set_unittest_reportflags(
...    doctest.REPORT_ONLY_FIRST_FAILURE)

Now, when we run the test:

>>> result = suite.run(unittest.TestResult())
>>> print(result.failures[0][1]) 
Traceback ...
Failed example:
    favorite_color
Exception raised:
    ...
    NameError: name 'favorite_color' is not defined

We get only the first failure.

If we give any reporting options when we set up the tests, however:

>>> suite = doctest.DocFileSuite('test_doctest.txt',
...     optionflags=doctest.DONT_ACCEPT_BLANKLINE | doctest.REPORT_NDIFF)

Then the default eporting options are ignored:

>>> result = suite.run(unittest.TestResult())
>>> print(result.failures[0][1]) 
Traceback ...
Failed example:
    favorite_color
...
Failed example:
    if 1:
       print('a')
       print()
       print('b')
Differences (ndiff with -expected +actual):
      a
    - <BLANKLINE>
    +
      b

Test runners can restore the formatting flags after they run:

>>> ignored = doctest.set_unittest_reportflags(old)

test.test_doctest2 module

A module to test whether doctest recognizes some 2.2 features, like static and class methods.

>>> print('yup')  # 1
yup

We include some (random) encoded (utf-8) text in the text surrounding the example. It should be ignored:

ЉЊЈЁЂ

class test.test_doctest2.C[source]

Bases: object

Class C.

>>> print(C())  # 2
42

We include some (random) encoded (utf-8) text in the text surrounding the example. It should be ignored:

ЉЊЈЁЂ
class D[source]

Bases: object

A nested D class.

>>> print("In D!")   # 5
In D!
nested()[source]
>>> print(3) # 6
3
classmethod C.clsm(val)[source]

A class method.

>>> print(C.clsm(22))    # 18
22
>>> print(C().clsm(23))  # 19
23
C.getx()[source]
>>> c = C()    # 7
>>> c.x = 12   # 8
>>> print(c.x)  # 9
-12
C.setx(value)[source]
>>> c = C()     # 10
>>> c.x = 12    # 11
>>> print(c.x)   # 12
-12
static C.statm()[source]

A static method.

>>> print(C.statm())    # 16
666
>>> print(C().statm())  # 17
666
C.x
>>> c = C()    # 13
>>> c.x = 12   # 14
>>> print(c.x)  # 15
-12
test.test_doctest2.test_main()[source]

test.test_docxmlrpc module

class test.test_docxmlrpc.DocXMLRPCHTTPGETServer(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_annotations()[source]

Test that annotations works as expected

Test that selfdot values are made strong automatically in the documentation.

test_autolinking()[source]

Test that the server correctly automatically wraps references to PEPS and RFCs with links, and that it linkifies text starting with http or ftp protocol prefixes.

The documentation for the “add” method contains the test material.

test_invalid_get_response()[source]
test_lambda()[source]

Test that lambda functionality stays the same. The output produced currently is, I suspect invalid because of the unencoded brackets in the HTML, “<lambda>”.

The subtraction lambda method is tested.

test_system_methods()[source]

Test the precense of three consecutive system.* methods.

This also tests their use of parameter type recognition and the systems related to that process.

test_valid_get_response()[source]
test.test_docxmlrpc.make_request_and_skipIf(condition, reason)[source]
test.test_docxmlrpc.server(evt, numrequests)[source]
test.test_docxmlrpc.test_main()[source]

test.test_dummy_thread module

Generic thread tests.

Meant to be used by dummy_thread and thread. To allow for different modules to be used, test_main() can be called with the module to use as the thread implementation as its sole argument.

class test.test_dummy_thread.LockTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test lock objects.

setUp()[source]
test_cond_acquire_fail()[source]
test_cond_acquire_success()[source]
test_improper_release()[source]
test_initlock()[source]
test_release()[source]
test_uncond_acquire_blocking()[source]
test_uncond_acquire_return_val()[source]
test_uncond_acquire_success()[source]
class test.test_dummy_thread.MiscTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Miscellaneous tests.

test_LockType()[source]
test_exit()[source]
test_ident()[source]
test_interrupt_in_main()[source]
test_interrupt_main()[source]
class test.test_dummy_thread.ThreadTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test thread creation.

test_arg_passing()[source]
test_multi_creation()[source]
test.test_dummy_thread.test_main(imported_module=None)[source]

test.test_dummy_threading module

class test.test_dummy_threading.DummyThreadingTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

class TestThread(group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None)[source]

Bases: threading.Thread

run()[source]
DummyThreadingTestCase.setUp()[source]
DummyThreadingTestCase.test_tasks()[source]
test.test_dummy_threading.test_main()[source]

test.test_dynamic module

class test.test_dynamic.RebindBuiltinsTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test all the ways that we can change/shadow globals/builtins.

configure_func(func, *args)[source]

Perform TestCase-specific configuration on a function before testing.

By default, this does nothing. Example usage: spinning a function so that a JIT will optimize it. Subclasses should override this as needed.

Args:
func: function to configure. *args: any arguments that should be passed to func, if calling it.
Returns:
Nothing. Work will be performed on func in-place.
test_cannot_change_globals_or_builtins_with_eval()[source]
test_cannot_change_globals_or_builtins_with_exec()[source]
test_cannot_replace_builtins_dict_between_calls()[source]
test_cannot_replace_builtins_dict_while_active()[source]
test_eval_gives_lambda_custom_globals()[source]
test_globals_shadow_builtins()[source]
test_modify_builtins()[source]
test_modify_builtins_from_leaf_function()[source]
test_modify_builtins_while_generator_active()[source]
test.test_dynamic.test_main()[source]

test.test_dynamicclassattribute module

class test.test_dynamicclassattribute.BaseClass[source]

Bases: object

class test.test_dynamicclassattribute.ClassWithAbstractVirtualProperty[source]

Bases: object

color
class test.test_dynamicclassattribute.ClassWithPropertyAbstractVirtual[source]

Bases: object

color
exception test.test_dynamicclassattribute.PropertyBase[source]

Bases: Exception

exception test.test_dynamicclassattribute.PropertyDel[source]

Bases: test.test_dynamicclassattribute.PropertyBase

class test.test_dynamicclassattribute.PropertyDocBase[source]

Bases: object

class test.test_dynamicclassattribute.PropertyDocSub[source]

Bases: test.test_dynamicclassattribute.PropertyDocBase

exception test.test_dynamicclassattribute.PropertyGet[source]

Bases: test.test_dynamicclassattribute.PropertyBase

class test.test_dynamicclassattribute.PropertyNewGetter[source]

Bases: object

exception test.test_dynamicclassattribute.PropertySet[source]

Bases: test.test_dynamicclassattribute.PropertyBase

class test.test_dynamicclassattribute.PropertySub(fget=None, fset=None, fdel=None, doc=None)[source]

Bases: types.DynamicClassAttribute

This is a subclass of DynamicClassAttribute

class test.test_dynamicclassattribute.PropertySubNewGetter[source]

Bases: test.test_dynamicclassattribute.BaseClass

class test.test_dynamicclassattribute.PropertySubSlots(fget=None, fset=None, fdel=None, doc=None)[source]

Bases: types.DynamicClassAttribute

This is a subclass of DynamicClassAttribute that defines __slots__

class test.test_dynamicclassattribute.PropertySubclassTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_docstring_copy()[source]
test_property_new_getter_new_docstring()[source]
test_property_setter_copies_getter_docstring()[source]
test_slots_docstring_copy_exception()[source]
class test.test_dynamicclassattribute.PropertyTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_abstract_virtual()[source]
test_property___isabstractmethod__descriptor()[source]
test_property_decorator_baseclass()[source]
test_property_decorator_baseclass_doc()[source]
test_property_decorator_doc()[source]
test_property_decorator_subclass()[source]
test_property_decorator_subclass_doc()[source]
test_property_getter_doc_override()[source]
class test.test_dynamicclassattribute.SubClass[source]

Bases: test.test_dynamicclassattribute.BaseClass

test.test_dynamicclassattribute.test_main()[source]

test.test_ensurepip module

class test.test_ensurepip.EnsurepipMixin[source]

Bases: object

setUp()[source]
class test.test_ensurepip.TestBootstrap(methodName='runTest')[source]

Bases: test.test_ensurepip.EnsurepipMixin, unittest.case.TestCase

test_altinstall_default_pip_conflict()[source]
test_basic_bootstrapping()[source]
test_bootstrapping_with_alt_install()[source]
test_bootstrapping_with_default_pip()[source]
test_bootstrapping_with_regular_install()[source]
test_bootstrapping_with_root()[source]
test_bootstrapping_with_upgrade()[source]
test_bootstrapping_with_user()[source]
test_bootstrapping_with_verbosity_1()[source]
test_bootstrapping_with_verbosity_2()[source]
test_bootstrapping_with_verbosity_3()[source]
test_pip_config_file_disabled()[source]
test_pip_environment_variables_removed()[source]
class test.test_ensurepip.TestBootstrappingMainFunction(methodName='runTest')[source]

Bases: test.test_ensurepip.EnsurepipMixin, unittest.case.TestCase

test_basic_bootstrapping()[source]
test_bootstrap_version()[source]
class test.test_ensurepip.TestEnsurePipVersion(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_returns_version()[source]
class test.test_ensurepip.TestMissingSSL(methodName='runTest')[source]

Bases: test.test_ensurepip.EnsurepipMixin, unittest.case.TestCase

setUp()[source]
test_bootstrap_requires_ssl()[source]
test_main_exits_early_with_warning()[source]
test_uninstall_requires_ssl()[source]
class test.test_ensurepip.TestUninstall(methodName='runTest')[source]

Bases: test.test_ensurepip.EnsurepipMixin, unittest.case.TestCase

test_pip_config_file_disabled()[source]
test_pip_environment_variables_removed()[source]
test_uninstall()[source]
test_uninstall_skipped_when_not_installed()[source]
test_uninstall_skipped_with_warning_for_wrong_version()[source]
test_uninstall_with_verbosity_1()[source]
test_uninstall_with_verbosity_2()[source]
test_uninstall_with_verbosity_3()[source]
class test.test_ensurepip.TestUninstallationMainFunction(methodName='runTest')[source]

Bases: test.test_ensurepip.EnsurepipMixin, unittest.case.TestCase

test_basic_uninstall()[source]
test_uninstall_version()[source]
test.test_ensurepip.fake_pip(version='1.5.6')[source]
test.test_ensurepip.requires_usable_pip(f)[source]

test.test_enum module

class test.test_enum.Answer

Bases: enum.Enum

class test.test_enum.FloatStooges[source]

Bases: float, enum.Enum

class test.test_enum.Fruit[source]

Bases: enum.Enum

class test.test_enum.IntStooges[source]

Bases: int, enum.Enum

class test.test_enum.Name[source]

Bases: test.test_enum.StrEnum

class test.test_enum.Question

Bases: enum.Enum

class test.test_enum.Stooges[source]

Bases: enum.Enum

class test.test_enum.StrEnum[source]

Bases: str, enum.Enum

accepts only string values

class test.test_enum.TestEnum(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertFormatIsValue(spec, member)[source]
setUp()[source]
test_attribute_deletion()[source]
test_changing_member()[source]
test_class_nested_enum_and_pickle_protocol_four()[source]
test_comparisons()[source]
test_conflicting_types_resolved_in_new()[source]
test_contains()[source]
test_dir_on_class()[source]
test_dir_on_item()[source]
test_dir_with_added_behavior()[source]
test_duplicate_name()[source]
test_duplicate_values_give_unique_enum_items()[source]
test_enum()[source]
test_enum_duplicates()[source]
test_enum_function_with_qualname()[source]
test_enum_in_enum_out()[source]
test_enum_value()[source]
test_enum_with_value_name()[source]
test_equality()[source]
test_exclude_methods()[source]
test_exploding_pickle()[source]
test_extending()[source]
test_extending2()[source]
test_extending3()[source]
test_floatenum_from_scratch()[source]
test_floatenum_inherited()[source]
test_flufl_enum()[source]
test_format_enum()[source]
test_format_enum_custom()[source]
test_format_enum_date()[source]
test_format_enum_float()[source]
test_format_enum_int()[source]
test_format_enum_str()[source]
test_getattr_dunder()[source]
test_getattr_getitem()[source]
test_hash()[source]
test_inherited_new_from_enhanced_enum()[source]
test_inherited_new_from_mixed_enum()[source]
test_inherited_repr()[source]
test_init()[source]
test_intenum()[source]
test_intenum_duplicates()[source]
test_intenum_from_scratch()[source]
test_intenum_inherited()[source]
test_intenum_transitivity()[source]
test_intenum_value()[source]
test_introspection()[source]
test_invalid_names()[source]
test_iteration_order()[source]
test_mixed_enum_in_call_1()[source]
test_mixed_enum_in_call_2()[source]
test_multiple_mixin_mro()[source]
test_new_repr()[source]
test_no_duplicates()[source]
test_no_such_enum_member()[source]
test_nonhash_value()[source]
test_ordered_mixin()[source]
test_pickle_enum()[source]
test_pickle_enum_function()[source]
test_pickle_enum_function_with_module()[source]
test_pickle_float()[source]
test_pickle_int()[source]
test_programatic_function_from_dict()[source]
test_programatic_function_iterable()[source]
test_programatic_function_string()[source]
test_programatic_function_string_list()[source]
test_programatic_function_type()[source]
test_programatic_function_type_from_subclass()[source]
test_reversed_iteration_order()[source]
test_strenum_from_scratch()[source]
test_strenum_inherited()[source]
test_string_enum()[source]
test_subclasses_with_getnewargs()[source]
test_subclasses_with_getnewargs_ex()[source]
test_subclasses_with_reduce()[source]
test_subclasses_with_reduce_ex()[source]
test_subclasses_without_direct_pickle_support()[source]
test_subclasses_without_direct_pickle_support_using_name()[source]
test_subclassing()[source]
test_tuple_subclass()[source]
test_value_name()[source]
test_wrong_enum_in_call()[source]
test_wrong_enum_in_mixed_call()[source]
test_wrong_inheritance_order()[source]
class test.test_enum.TestHelpers(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_is_descriptor()[source]
test_is_dunder()[source]
test_is_sunder()[source]
class test.test_enum.TestStdLib(methodName='runTest')[source]

Bases: unittest.case.TestCase

class Color[source]

Bases: enum.Enum

TestStdLib.test_inspect_classify_class_attrs()[source]
TestStdLib.test_inspect_getmembers()[source]
TestStdLib.test_pydoc()[source]
class test.test_enum.TestUnique(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_unique_clean()[source]
test_unique_dirty()[source]
class test.test_enum.Theory

Bases: enum.Enum

test.test_enum.test_pickle_dump_load(assertion, source, target=None, *, protocol=(0, 4))[source]
test.test_enum.test_pickle_exception(assertion, exception, obj, *, protocol=(0, 4))[source]

test.test_enumerate module

class test.test_enumerate.E(seqn)[source]

Bases: object

Test propagation of exceptions

class test.test_enumerate.EnumerateStartTestCase(methodName='runTest')[source]

Bases: test.test_enumerate.EnumerateTestCase

test_basicfunction()[source]
class test.test_enumerate.EnumerateTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_enumerate.PickleTest

enum

alias of enumerate

res = [(0, 'a'), (1, 'b'), (2, 'c')]
seq = 'abc'
test_argumentcheck()[source]
test_basicfunction()[source]
test_exception_propagation()[source]
test_getitemseqn()[source]
test_illformediterable()[source]
test_iteratorgenerator()[source]
test_iteratorseqn()[source]
test_noniterable()[source]
test_pickle()[source]
test_tuple_reuse()[source]
class test.test_enumerate.G(seqn)[source]

Bases: object

Sequence using __getitem__

class test.test_enumerate.I(seqn)[source]

Bases: object

Sequence using iterator protocol

class test.test_enumerate.Ig(seqn)[source]

Bases: object

Sequence using iterator protocol defined with a generator

class test.test_enumerate.MyEnum[source]

Bases: enumerate

class test.test_enumerate.N(seqn)[source]

Bases: object

Iterator missing __next__()

class test.test_enumerate.PickleTest[source]

Bases: object

check_pickle(itorg, seq)[source]
class test.test_enumerate.SubclassTestCase(methodName='runTest')[source]

Bases: test.test_enumerate.EnumerateTestCase

enum

alias of MyEnum

class test.test_enumerate.TestBig(methodName='runTest')[source]

Bases: test.test_enumerate.EnumerateTestCase

res = [(0, 10), (1, 12), (2, 14), (3, 16), (4, 18), (5, 20), (6, 22), (7, 24), (8, 26), (9, 28), (10, 30), (11, 32), (12, 34), (13, 36), (14, 38), (15, 40), (16, 42), (17, 44), (18, 46), (19, 48), (20, 50), (21, 52), (22, 54), (23, 56), (24, 58), (25, 60), (26, 62), (27, 64), (28, 66), (29, 68), (30, 70), (31, 72), (32, 74), (33, 76), (34, 78), (35, 80), (36, 82), (37, 84), (38, 86), (39, 88), (40, 90), (41, 92), (42, 94), (43, 96), (44, 98), (45, 100), (46, 102), (47, 104), (48, 106), (49, 108), (50, 110), (51, 112), (52, 114), (53, 116), (54, 118), (55, 120), (56, 122), (57, 124), (58, 126), (59, 128), (60, 130), (61, 132), (62, 134), (63, 136), (64, 138), (65, 140), (66, 142), (67, 144), (68, 146), (69, 148), (70, 150), (71, 152), (72, 154), (73, 156), (74, 158), (75, 160), (76, 162), (77, 164), (78, 166), (79, 168), (80, 170), (81, 172), (82, 174), (83, 176), (84, 178), (85, 180), (86, 182), (87, 184), (88, 186), (89, 188), (90, 190), (91, 192), (92, 194), (93, 196), (94, 198), (95, 200), (96, 202), (97, 204), (98, 206), (99, 208), (100, 210), (101, 212), (102, 214), (103, 216), (104, 218), (105, 220), (106, 222), (107, 224), (108, 226), (109, 228), (110, 230), (111, 232), (112, 234), (113, 236), (114, 238), (115, 240), (116, 242), (117, 244), (118, 246), (119, 248), (120, 250), (121, 252), (122, 254), (123, 256), (124, 258), (125, 260), (126, 262), (127, 264), (128, 266), (129, 268), (130, 270), (131, 272), (132, 274), (133, 276), (134, 278), (135, 280), (136, 282), (137, 284), (138, 286), (139, 288), (140, 290), (141, 292), (142, 294), (143, 296), (144, 298), (145, 300), (146, 302), (147, 304), (148, 306), (149, 308), (150, 310), (151, 312), (152, 314), (153, 316), (154, 318), (155, 320), (156, 322), (157, 324), (158, 326), (159, 328), (160, 330), (161, 332), (162, 334), (163, 336), (164, 338), (165, 340), (166, 342), (167, 344), (168, 346), (169, 348), (170, 350), (171, 352), (172, 354), (173, 356), (174, 358), (175, 360), (176, 362), (177, 364), (178, 366), (179, 368), (180, 370), (181, 372), (182, 374), (183, 376), (184, 378), (185, 380), (186, 382), (187, 384), (188, 386), (189, 388), (190, 390), (191, 392), (192, 394), (193, 396), (194, 398), (195, 400), (196, 402), (197, 404), (198, 406), (199, 408), (200, 410), (201, 412), (202, 414), (203, 416), (204, 418), (205, 420), (206, 422), (207, 424), (208, 426), (209, 428), (210, 430), (211, 432), (212, 434), (213, 436), (214, 438), (215, 440), (216, 442), (217, 444), (218, 446), (219, 448), (220, 450), (221, 452), (222, 454), (223, 456), (224, 458), (225, 460), (226, 462), (227, 464), (228, 466), (229, 468), (230, 470), (231, 472), (232, 474), (233, 476), (234, 478), (235, 480), (236, 482), (237, 484), (238, 486), (239, 488), (240, 490), (241, 492), (242, 494), (243, 496), (244, 498), (245, 500), (246, 502), (247, 504), (248, 506), (249, 508), (250, 510), (251, 512), (252, 514), (253, 516), (254, 518), (255, 520), (256, 522), (257, 524), (258, 526), (259, 528), (260, 530), (261, 532), (262, 534), (263, 536), (264, 538), (265, 540), (266, 542), (267, 544), (268, 546), (269, 548), (270, 550), (271, 552), (272, 554), (273, 556), (274, 558), (275, 560), (276, 562), (277, 564), (278, 566), (279, 568), (280, 570), (281, 572), (282, 574), (283, 576), (284, 578), (285, 580), (286, 582), (287, 584), (288, 586), (289, 588), (290, 590), (291, 592), (292, 594), (293, 596), (294, 598), (295, 600), (296, 602), (297, 604), (298, 606), (299, 608), (300, 610), (301, 612), (302, 614), (303, 616), (304, 618), (305, 620), (306, 622), (307, 624), (308, 626), (309, 628), (310, 630), (311, 632), (312, 634), (313, 636), (314, 638), (315, 640), (316, 642), (317, 644), (318, 646), (319, 648), (320, 650), (321, 652), (322, 654), (323, 656), (324, 658), (325, 660), (326, 662), (327, 664), (328, 666), (329, 668), (330, 670), (331, 672), (332, 674), (333, 676), (334, 678), (335, 680), (336, 682), (337, 684), (338, 686), (339, 688), (340, 690), (341, 692), (342, 694), (343, 696), (344, 698), (345, 700), (346, 702), (347, 704), (348, 706), (349, 708), (350, 710), (351, 712), (352, 714), (353, 716), (354, 718), (355, 720), (356, 722), (357, 724), (358, 726), (359, 728), (360, 730), (361, 732), (362, 734), (363, 736), (364, 738), (365, 740), (366, 742), (367, 744), (368, 746), (369, 748), (370, 750), (371, 752), (372, 754), (373, 756), (374, 758), (375, 760), (376, 762), (377, 764), (378, 766), (379, 768), (380, 770), (381, 772), (382, 774), (383, 776), (384, 778), (385, 780), (386, 782), (387, 784), (388, 786), (389, 788), (390, 790), (391, 792), (392, 794), (393, 796), (394, 798), (395, 800), (396, 802), (397, 804), (398, 806), (399, 808), (400, 810), (401, 812), (402, 814), (403, 816), (404, 818), (405, 820), (406, 822), (407, 824), (408, 826), (409, 828), (410, 830), (411, 832), (412, 834), (413, 836), (414, 838), (415, 840), (416, 842), (417, 844), (418, 846), (419, 848), (420, 850), (421, 852), (422, 854), (423, 856), (424, 858), (425, 860), (426, 862), (427, 864), (428, 866), (429, 868), (430, 870), (431, 872), (432, 874), (433, 876), (434, 878), (435, 880), (436, 882), (437, 884), (438, 886), (439, 888), (440, 890), (441, 892), (442, 894), (443, 896), (444, 898), (445, 900), (446, 902), (447, 904), (448, 906), (449, 908), (450, 910), (451, 912), (452, 914), (453, 916), (454, 918), (455, 920), (456, 922), (457, 924), (458, 926), (459, 928), (460, 930), (461, 932), (462, 934), (463, 936), (464, 938), (465, 940), (466, 942), (467, 944), (468, 946), (469, 948), (470, 950), (471, 952), (472, 954), (473, 956), (474, 958), (475, 960), (476, 962), (477, 964), (478, 966), (479, 968), (480, 970), (481, 972), (482, 974), (483, 976), (484, 978), (485, 980), (486, 982), (487, 984), (488, 986), (489, 988), (490, 990), (491, 992), (492, 994), (493, 996), (494, 998), (495, 1000), (496, 1002), (497, 1004), (498, 1006), (499, 1008), (500, 1010), (501, 1012), (502, 1014), (503, 1016), (504, 1018), (505, 1020), (506, 1022), (507, 1024), (508, 1026), (509, 1028), (510, 1030), (511, 1032), (512, 1034), (513, 1036), (514, 1038), (515, 1040), (516, 1042), (517, 1044), (518, 1046), (519, 1048), (520, 1050), (521, 1052), (522, 1054), (523, 1056), (524, 1058), (525, 1060), (526, 1062), (527, 1064), (528, 1066), (529, 1068), (530, 1070), (531, 1072), (532, 1074), (533, 1076), (534, 1078), (535, 1080), (536, 1082), (537, 1084), (538, 1086), (539, 1088), (540, 1090), (541, 1092), (542, 1094), (543, 1096), (544, 1098), (545, 1100), (546, 1102), (547, 1104), (548, 1106), (549, 1108), (550, 1110), (551, 1112), (552, 1114), (553, 1116), (554, 1118), (555, 1120), (556, 1122), (557, 1124), (558, 1126), (559, 1128), (560, 1130), (561, 1132), (562, 1134), (563, 1136), (564, 1138), (565, 1140), (566, 1142), (567, 1144), (568, 1146), (569, 1148), (570, 1150), (571, 1152), (572, 1154), (573, 1156), (574, 1158), (575, 1160), (576, 1162), (577, 1164), (578, 1166), (579, 1168), (580, 1170), (581, 1172), (582, 1174), (583, 1176), (584, 1178), (585, 1180), (586, 1182), (587, 1184), (588, 1186), (589, 1188), (590, 1190), (591, 1192), (592, 1194), (593, 1196), (594, 1198), (595, 1200), (596, 1202), (597, 1204), (598, 1206), (599, 1208), (600, 1210), (601, 1212), (602, 1214), (603, 1216), (604, 1218), (605, 1220), (606, 1222), (607, 1224), (608, 1226), (609, 1228), (610, 1230), (611, 1232), (612, 1234), (613, 1236), (614, 1238), (615, 1240), (616, 1242), (617, 1244), (618, 1246), (619, 1248), (620, 1250), (621, 1252), (622, 1254), (623, 1256), (624, 1258), (625, 1260), (626, 1262), (627, 1264), (628, 1266), (629, 1268), (630, 1270), (631, 1272), (632, 1274), (633, 1276), (634, 1278), (635, 1280), (636, 1282), (637, 1284), (638, 1286), (639, 1288), (640, 1290), (641, 1292), (642, 1294), (643, 1296), (644, 1298), (645, 1300), (646, 1302), (647, 1304), (648, 1306), (649, 1308), (650, 1310), (651, 1312), (652, 1314), (653, 1316), (654, 1318), (655, 1320), (656, 1322), (657, 1324), (658, 1326), (659, 1328), (660, 1330), (661, 1332), (662, 1334), (663, 1336), (664, 1338), (665, 1340), (666, 1342), (667, 1344), (668, 1346), (669, 1348), (670, 1350), (671, 1352), (672, 1354), (673, 1356), (674, 1358), (675, 1360), (676, 1362), (677, 1364), (678, 1366), (679, 1368), (680, 1370), (681, 1372), (682, 1374), (683, 1376), (684, 1378), (685, 1380), (686, 1382), (687, 1384), (688, 1386), (689, 1388), (690, 1390), (691, 1392), (692, 1394), (693, 1396), (694, 1398), (695, 1400), (696, 1402), (697, 1404), (698, 1406), (699, 1408), (700, 1410), (701, 1412), (702, 1414), (703, 1416), (704, 1418), (705, 1420), (706, 1422), (707, 1424), (708, 1426), (709, 1428), (710, 1430), (711, 1432), (712, 1434), (713, 1436), (714, 1438), (715, 1440), (716, 1442), (717, 1444), (718, 1446), (719, 1448), (720, 1450), (721, 1452), (722, 1454), (723, 1456), (724, 1458), (725, 1460), (726, 1462), (727, 1464), (728, 1466), (729, 1468), (730, 1470), (731, 1472), (732, 1474), (733, 1476), (734, 1478), (735, 1480), (736, 1482), (737, 1484), (738, 1486), (739, 1488), (740, 1490), (741, 1492), (742, 1494), (743, 1496), (744, 1498), (745, 1500), (746, 1502), (747, 1504), (748, 1506), (749, 1508), (750, 1510), (751, 1512), (752, 1514), (753, 1516), (754, 1518), (755, 1520), (756, 1522), (757, 1524), (758, 1526), (759, 1528), (760, 1530), (761, 1532), (762, 1534), (763, 1536), (764, 1538), (765, 1540), (766, 1542), (767, 1544), (768, 1546), (769, 1548), (770, 1550), (771, 1552), (772, 1554), (773, 1556), (774, 1558), (775, 1560), (776, 1562), (777, 1564), (778, 1566), (779, 1568), (780, 1570), (781, 1572), (782, 1574), (783, 1576), (784, 1578), (785, 1580), (786, 1582), (787, 1584), (788, 1586), (789, 1588), (790, 1590), (791, 1592), (792, 1594), (793, 1596), (794, 1598), (795, 1600), (796, 1602), (797, 1604), (798, 1606), (799, 1608), (800, 1610), (801, 1612), (802, 1614), (803, 1616), (804, 1618), (805, 1620), (806, 1622), (807, 1624), (808, 1626), (809, 1628), (810, 1630), (811, 1632), (812, 1634), (813, 1636), (814, 1638), (815, 1640), (816, 1642), (817, 1644), (818, 1646), (819, 1648), (820, 1650), (821, 1652), (822, 1654), (823, 1656), (824, 1658), (825, 1660), (826, 1662), (827, 1664), (828, 1666), (829, 1668), (830, 1670), (831, 1672), (832, 1674), (833, 1676), (834, 1678), (835, 1680), (836, 1682), (837, 1684), (838, 1686), (839, 1688), (840, 1690), (841, 1692), (842, 1694), (843, 1696), (844, 1698), (845, 1700), (846, 1702), (847, 1704), (848, 1706), (849, 1708), (850, 1710), (851, 1712), (852, 1714), (853, 1716), (854, 1718), (855, 1720), (856, 1722), (857, 1724), (858, 1726), (859, 1728), (860, 1730), (861, 1732), (862, 1734), (863, 1736), (864, 1738), (865, 1740), (866, 1742), (867, 1744), (868, 1746), (869, 1748), (870, 1750), (871, 1752), (872, 1754), (873, 1756), (874, 1758), (875, 1760), (876, 1762), (877, 1764), (878, 1766), (879, 1768), (880, 1770), (881, 1772), (882, 1774), (883, 1776), (884, 1778), (885, 1780), (886, 1782), (887, 1784), (888, 1786), (889, 1788), (890, 1790), (891, 1792), (892, 1794), (893, 1796), (894, 1798), (895, 1800), (896, 1802), (897, 1804), (898, 1806), (899, 1808), (900, 1810), (901, 1812), (902, 1814), (903, 1816), (904, 1818), (905, 1820), (906, 1822), (907, 1824), (908, 1826), (909, 1828), (910, 1830), (911, 1832), (912, 1834), (913, 1836), (914, 1838), (915, 1840), (916, 1842), (917, 1844), (918, 1846), (919, 1848), (920, 1850), (921, 1852), (922, 1854), (923, 1856), (924, 1858), (925, 1860), (926, 1862), (927, 1864), (928, 1866), (929, 1868), (930, 1870), (931, 1872), (932, 1874), (933, 1876), (934, 1878), (935, 1880), (936, 1882), (937, 1884), (938, 1886), (939, 1888), (940, 1890), (941, 1892), (942, 1894), (943, 1896), (944, 1898), (945, 1900), (946, 1902), (947, 1904), (948, 1906), (949, 1908), (950, 1910), (951, 1912), (952, 1914), (953, 1916), (954, 1918), (955, 1920), (956, 1922), (957, 1924), (958, 1926), (959, 1928), (960, 1930), (961, 1932), (962, 1934), (963, 1936), (964, 1938), (965, 1940), (966, 1942), (967, 1944), (968, 1946), (969, 1948), (970, 1950), (971, 1952), (972, 1954), (973, 1956), (974, 1958), (975, 1960), (976, 1962), (977, 1964), (978, 1966), (979, 1968), (980, 1970), (981, 1972), (982, 1974), (983, 1976), (984, 1978), (985, 1980), (986, 1982), (987, 1984), (988, 1986), (989, 1988), (990, 1990), (991, 1992), (992, 1994), (993, 1996), (994, 1998), (995, 2000), (996, 2002), (997, 2004), (998, 2006), (999, 2008), (1000, 2010), (1001, 2012), (1002, 2014), (1003, 2016), (1004, 2018), (1005, 2020), (1006, 2022), (1007, 2024), (1008, 2026), (1009, 2028), (1010, 2030), (1011, 2032), (1012, 2034), (1013, 2036), (1014, 2038), (1015, 2040), (1016, 2042), (1017, 2044), (1018, 2046), (1019, 2048), (1020, 2050), (1021, 2052), (1022, 2054), (1023, 2056), (1024, 2058), (1025, 2060), (1026, 2062), (1027, 2064), (1028, 2066), (1029, 2068), (1030, 2070), (1031, 2072), (1032, 2074), (1033, 2076), (1034, 2078), (1035, 2080), (1036, 2082), (1037, 2084), (1038, 2086), (1039, 2088), (1040, 2090), (1041, 2092), (1042, 2094), (1043, 2096), (1044, 2098), (1045, 2100), (1046, 2102), (1047, 2104), (1048, 2106), (1049, 2108), (1050, 2110), (1051, 2112), (1052, 2114), (1053, 2116), (1054, 2118), (1055, 2120), (1056, 2122), (1057, 2124), (1058, 2126), (1059, 2128), (1060, 2130), (1061, 2132), (1062, 2134), (1063, 2136), (1064, 2138), (1065, 2140), (1066, 2142), (1067, 2144), (1068, 2146), (1069, 2148), (1070, 2150), (1071, 2152), (1072, 2154), (1073, 2156), (1074, 2158), (1075, 2160), (1076, 2162), (1077, 2164), (1078, 2166), (1079, 2168), (1080, 2170), (1081, 2172), (1082, 2174), (1083, 2176), (1084, 2178), (1085, 2180), (1086, 2182), (1087, 2184), (1088, 2186), (1089, 2188), (1090, 2190), (1091, 2192), (1092, 2194), (1093, 2196), (1094, 2198), (1095, 2200), (1096, 2202), (1097, 2204), (1098, 2206), (1099, 2208), (1100, 2210), (1101, 2212), (1102, 2214), (1103, 2216), (1104, 2218), (1105, 2220), (1106, 2222), (1107, 2224), (1108, 2226), (1109, 2228), (1110, 2230), (1111, 2232), (1112, 2234), (1113, 2236), (1114, 2238), (1115, 2240), (1116, 2242), (1117, 2244), (1118, 2246), (1119, 2248), (1120, 2250), (1121, 2252), (1122, 2254), (1123, 2256), (1124, 2258), (1125, 2260), (1126, 2262), (1127, 2264), (1128, 2266), (1129, 2268), (1130, 2270), (1131, 2272), (1132, 2274), (1133, 2276), (1134, 2278), (1135, 2280), (1136, 2282), (1137, 2284), (1138, 2286), (1139, 2288), (1140, 2290), (1141, 2292), (1142, 2294), (1143, 2296), (1144, 2298), (1145, 2300), (1146, 2302), (1147, 2304), (1148, 2306), (1149, 2308), (1150, 2310), (1151, 2312), (1152, 2314), (1153, 2316), (1154, 2318), (1155, 2320), (1156, 2322), (1157, 2324), (1158, 2326), (1159, 2328), (1160, 2330), (1161, 2332), (1162, 2334), (1163, 2336), (1164, 2338), (1165, 2340), (1166, 2342), (1167, 2344), (1168, 2346), (1169, 2348), (1170, 2350), (1171, 2352), (1172, 2354), (1173, 2356), (1174, 2358), (1175, 2360), (1176, 2362), (1177, 2364), (1178, 2366), (1179, 2368), (1180, 2370), (1181, 2372), (1182, 2374), (1183, 2376), (1184, 2378), (1185, 2380), (1186, 2382), (1187, 2384), (1188, 2386), (1189, 2388), (1190, 2390), (1191, 2392), (1192, 2394), (1193, 2396), (1194, 2398), (1195, 2400), (1196, 2402), (1197, 2404), (1198, 2406), (1199, 2408), (1200, 2410), (1201, 2412), (1202, 2414), (1203, 2416), (1204, 2418), (1205, 2420), (1206, 2422), (1207, 2424), (1208, 2426), (1209, 2428), (1210, 2430), (1211, 2432), (1212, 2434), (1213, 2436), (1214, 2438), (1215, 2440), (1216, 2442), (1217, 2444), (1218, 2446), (1219, 2448), (1220, 2450), (1221, 2452), (1222, 2454), (1223, 2456), (1224, 2458), (1225, 2460), (1226, 2462), (1227, 2464), (1228, 2466), (1229, 2468), (1230, 2470), (1231, 2472), (1232, 2474), (1233, 2476), (1234, 2478), (1235, 2480), (1236, 2482), (1237, 2484), (1238, 2486), (1239, 2488), (1240, 2490), (1241, 2492), (1242, 2494), (1243, 2496), (1244, 2498), (1245, 2500), (1246, 2502), (1247, 2504), (1248, 2506), (1249, 2508), (1250, 2510), (1251, 2512), (1252, 2514), (1253, 2516), (1254, 2518), (1255, 2520), (1256, 2522), (1257, 2524), (1258, 2526), (1259, 2528), (1260, 2530), (1261, 2532), (1262, 2534), (1263, 2536), (1264, 2538), (1265, 2540), (1266, 2542), (1267, 2544), (1268, 2546), (1269, 2548), (1270, 2550), (1271, 2552), (1272, 2554), (1273, 2556), (1274, 2558), (1275, 2560), (1276, 2562), (1277, 2564), (1278, 2566), (1279, 2568), (1280, 2570), (1281, 2572), (1282, 2574), (1283, 2576), (1284, 2578), (1285, 2580), (1286, 2582), (1287, 2584), (1288, 2586), (1289, 2588), (1290, 2590), (1291, 2592), (1292, 2594), (1293, 2596), (1294, 2598), (1295, 2600), (1296, 2602), (1297, 2604), (1298, 2606), (1299, 2608), (1300, 2610), (1301, 2612), (1302, 2614), (1303, 2616), (1304, 2618), (1305, 2620), (1306, 2622), (1307, 2624), (1308, 2626), (1309, 2628), (1310, 2630), (1311, 2632), (1312, 2634), (1313, 2636), (1314, 2638), (1315, 2640), (1316, 2642), (1317, 2644), (1318, 2646), (1319, 2648), (1320, 2650), (1321, 2652), (1322, 2654), (1323, 2656), (1324, 2658), (1325, 2660), (1326, 2662), (1327, 2664), (1328, 2666), (1329, 2668), (1330, 2670), (1331, 2672), (1332, 2674), (1333, 2676), (1334, 2678), (1335, 2680), (1336, 2682), (1337, 2684), (1338, 2686), (1339, 2688), (1340, 2690), (1341, 2692), (1342, 2694), (1343, 2696), (1344, 2698), (1345, 2700), (1346, 2702), (1347, 2704), (1348, 2706), (1349, 2708), (1350, 2710), (1351, 2712), (1352, 2714), (1353, 2716), (1354, 2718), (1355, 2720), (1356, 2722), (1357, 2724), (1358, 2726), (1359, 2728), (1360, 2730), (1361, 2732), (1362, 2734), (1363, 2736), (1364, 2738), (1365, 2740), (1366, 2742), (1367, 2744), (1368, 2746), (1369, 2748), (1370, 2750), (1371, 2752), (1372, 2754), (1373, 2756), (1374, 2758), (1375, 2760), (1376, 2762), (1377, 2764), (1378, 2766), (1379, 2768), (1380, 2770), (1381, 2772), (1382, 2774), (1383, 2776), (1384, 2778), (1385, 2780), (1386, 2782), (1387, 2784), (1388, 2786), (1389, 2788), (1390, 2790), (1391, 2792), (1392, 2794), (1393, 2796), (1394, 2798), (1395, 2800), (1396, 2802), (1397, 2804), (1398, 2806), (1399, 2808), (1400, 2810), (1401, 2812), (1402, 2814), (1403, 2816), (1404, 2818), (1405, 2820), (1406, 2822), (1407, 2824), (1408, 2826), (1409, 2828), (1410, 2830), (1411, 2832), (1412, 2834), (1413, 2836), (1414, 2838), (1415, 2840), (1416, 2842), (1417, 2844), (1418, 2846), (1419, 2848), (1420, 2850), (1421, 2852), (1422, 2854), (1423, 2856), (1424, 2858), (1425, 2860), (1426, 2862), (1427, 2864), (1428, 2866), (1429, 2868), (1430, 2870), (1431, 2872), (1432, 2874), (1433, 2876), (1434, 2878), (1435, 2880), (1436, 2882), (1437, 2884), (1438, 2886), (1439, 2888), (1440, 2890), (1441, 2892), (1442, 2894), (1443, 2896), (1444, 2898), (1445, 2900), (1446, 2902), (1447, 2904), (1448, 2906), (1449, 2908), (1450, 2910), (1451, 2912), (1452, 2914), (1453, 2916), (1454, 2918), (1455, 2920), (1456, 2922), (1457, 2924), (1458, 2926), (1459, 2928), (1460, 2930), (1461, 2932), (1462, 2934), (1463, 2936), (1464, 2938), (1465, 2940), (1466, 2942), (1467, 2944), (1468, 2946), (1469, 2948), (1470, 2950), (1471, 2952), (1472, 2954), (1473, 2956), (1474, 2958), (1475, 2960), (1476, 2962), (1477, 2964), (1478, 2966), (1479, 2968), (1480, 2970), (1481, 2972), (1482, 2974), (1483, 2976), (1484, 2978), (1485, 2980), (1486, 2982), (1487, 2984), (1488, 2986), (1489, 2988), (1490, 2990), (1491, 2992), (1492, 2994), (1493, 2996), (1494, 2998), (1495, 3000), (1496, 3002), (1497, 3004), (1498, 3006), (1499, 3008), (1500, 3010), (1501, 3012), (1502, 3014), (1503, 3016), (1504, 3018), (1505, 3020), (1506, 3022), (1507, 3024), (1508, 3026), (1509, 3028), (1510, 3030), (1511, 3032), (1512, 3034), (1513, 3036), (1514, 3038), (1515, 3040), (1516, 3042), (1517, 3044), (1518, 3046), (1519, 3048), (1520, 3050), (1521, 3052), (1522, 3054), (1523, 3056), (1524, 3058), (1525, 3060), (1526, 3062), (1527, 3064), (1528, 3066), (1529, 3068), (1530, 3070), (1531, 3072), (1532, 3074), (1533, 3076), (1534, 3078), (1535, 3080), (1536, 3082), (1537, 3084), (1538, 3086), (1539, 3088), (1540, 3090), (1541, 3092), (1542, 3094), (1543, 3096), (1544, 3098), (1545, 3100), (1546, 3102), (1547, 3104), (1548, 3106), (1549, 3108), (1550, 3110), (1551, 3112), (1552, 3114), (1553, 3116), (1554, 3118), (1555, 3120), (1556, 3122), (1557, 3124), (1558, 3126), (1559, 3128), (1560, 3130), (1561, 3132), (1562, 3134), (1563, 3136), (1564, 3138), (1565, 3140), (1566, 3142), (1567, 3144), (1568, 3146), (1569, 3148), (1570, 3150), (1571, 3152), (1572, 3154), (1573, 3156), (1574, 3158), (1575, 3160), (1576, 3162), (1577, 3164), (1578, 3166), (1579, 3168), (1580, 3170), (1581, 3172), (1582, 3174), (1583, 3176), (1584, 3178), (1585, 3180), (1586, 3182), (1587, 3184), (1588, 3186), (1589, 3188), (1590, 3190), (1591, 3192), (1592, 3194), (1593, 3196), (1594, 3198), (1595, 3200), (1596, 3202), (1597, 3204), (1598, 3206), (1599, 3208), (1600, 3210), (1601, 3212), (1602, 3214), (1603, 3216), (1604, 3218), (1605, 3220), (1606, 3222), (1607, 3224), (1608, 3226), (1609, 3228), (1610, 3230), (1611, 3232), (1612, 3234), (1613, 3236), (1614, 3238), (1615, 3240), (1616, 3242), (1617, 3244), (1618, 3246), (1619, 3248), (1620, 3250), (1621, 3252), (1622, 3254), (1623, 3256), (1624, 3258), (1625, 3260), (1626, 3262), (1627, 3264), (1628, 3266), (1629, 3268), (1630, 3270), (1631, 3272), (1632, 3274), (1633, 3276), (1634, 3278), (1635, 3280), (1636, 3282), (1637, 3284), (1638, 3286), (1639, 3288), (1640, 3290), (1641, 3292), (1642, 3294), (1643, 3296), (1644, 3298), (1645, 3300), (1646, 3302), (1647, 3304), (1648, 3306), (1649, 3308), (1650, 3310), (1651, 3312), (1652, 3314), (1653, 3316), (1654, 3318), (1655, 3320), (1656, 3322), (1657, 3324), (1658, 3326), (1659, 3328), (1660, 3330), (1661, 3332), (1662, 3334), (1663, 3336), (1664, 3338), (1665, 3340), (1666, 3342), (1667, 3344), (1668, 3346), (1669, 3348), (1670, 3350), (1671, 3352), (1672, 3354), (1673, 3356), (1674, 3358), (1675, 3360), (1676, 3362), (1677, 3364), (1678, 3366), (1679, 3368), (1680, 3370), (1681, 3372), (1682, 3374), (1683, 3376), (1684, 3378), (1685, 3380), (1686, 3382), (1687, 3384), (1688, 3386), (1689, 3388), (1690, 3390), (1691, 3392), (1692, 3394), (1693, 3396), (1694, 3398), (1695, 3400), (1696, 3402), (1697, 3404), (1698, 3406), (1699, 3408), (1700, 3410), (1701, 3412), (1702, 3414), (1703, 3416), (1704, 3418), (1705, 3420), (1706, 3422), (1707, 3424), (1708, 3426), (1709, 3428), (1710, 3430), (1711, 3432), (1712, 3434), (1713, 3436), (1714, 3438), (1715, 3440), (1716, 3442), (1717, 3444), (1718, 3446), (1719, 3448), (1720, 3450), (1721, 3452), (1722, 3454), (1723, 3456), (1724, 3458), (1725, 3460), (1726, 3462), (1727, 3464), (1728, 3466), (1729, 3468), (1730, 3470), (1731, 3472), (1732, 3474), (1733, 3476), (1734, 3478), (1735, 3480), (1736, 3482), (1737, 3484), (1738, 3486), (1739, 3488), (1740, 3490), (1741, 3492), (1742, 3494), (1743, 3496), (1744, 3498), (1745, 3500), (1746, 3502), (1747, 3504), (1748, 3506), (1749, 3508), (1750, 3510), (1751, 3512), (1752, 3514), (1753, 3516), (1754, 3518), (1755, 3520), (1756, 3522), (1757, 3524), (1758, 3526), (1759, 3528), (1760, 3530), (1761, 3532), (1762, 3534), (1763, 3536), (1764, 3538), (1765, 3540), (1766, 3542), (1767, 3544), (1768, 3546), (1769, 3548), (1770, 3550), (1771, 3552), (1772, 3554), (1773, 3556), (1774, 3558), (1775, 3560), (1776, 3562), (1777, 3564), (1778, 3566), (1779, 3568), (1780, 3570), (1781, 3572), (1782, 3574), (1783, 3576), (1784, 3578), (1785, 3580), (1786, 3582), (1787, 3584), (1788, 3586), (1789, 3588), (1790, 3590), (1791, 3592), (1792, 3594), (1793, 3596), (1794, 3598), (1795, 3600), (1796, 3602), (1797, 3604), (1798, 3606), (1799, 3608), (1800, 3610), (1801, 3612), (1802, 3614), (1803, 3616), (1804, 3618), (1805, 3620), (1806, 3622), (1807, 3624), (1808, 3626), (1809, 3628), (1810, 3630), (1811, 3632), (1812, 3634), (1813, 3636), (1814, 3638), (1815, 3640), (1816, 3642), (1817, 3644), (1818, 3646), (1819, 3648), (1820, 3650), (1821, 3652), (1822, 3654), (1823, 3656), (1824, 3658), (1825, 3660), (1826, 3662), (1827, 3664), (1828, 3666), (1829, 3668), (1830, 3670), (1831, 3672), (1832, 3674), (1833, 3676), (1834, 3678), (1835, 3680), (1836, 3682), (1837, 3684), (1838, 3686), (1839, 3688), (1840, 3690), (1841, 3692), (1842, 3694), (1843, 3696), (1844, 3698), (1845, 3700), (1846, 3702), (1847, 3704), (1848, 3706), (1849, 3708), (1850, 3710), (1851, 3712), (1852, 3714), (1853, 3716), (1854, 3718), (1855, 3720), (1856, 3722), (1857, 3724), (1858, 3726), (1859, 3728), (1860, 3730), (1861, 3732), (1862, 3734), (1863, 3736), (1864, 3738), (1865, 3740), (1866, 3742), (1867, 3744), (1868, 3746), (1869, 3748), (1870, 3750), (1871, 3752), (1872, 3754), (1873, 3756), (1874, 3758), (1875, 3760), (1876, 3762), (1877, 3764), (1878, 3766), (1879, 3768), (1880, 3770), (1881, 3772), (1882, 3774), (1883, 3776), (1884, 3778), (1885, 3780), (1886, 3782), (1887, 3784), (1888, 3786), (1889, 3788), (1890, 3790), (1891, 3792), (1892, 3794), (1893, 3796), (1894, 3798), (1895, 3800), (1896, 3802), (1897, 3804), (1898, 3806), (1899, 3808), (1900, 3810), (1901, 3812), (1902, 3814), (1903, 3816), (1904, 3818), (1905, 3820), (1906, 3822), (1907, 3824), (1908, 3826), (1909, 3828), (1910, 3830), (1911, 3832), (1912, 3834), (1913, 3836), (1914, 3838), (1915, 3840), (1916, 3842), (1917, 3844), (1918, 3846), (1919, 3848), (1920, 3850), (1921, 3852), (1922, 3854), (1923, 3856), (1924, 3858), (1925, 3860), (1926, 3862), (1927, 3864), (1928, 3866), (1929, 3868), (1930, 3870), (1931, 3872), (1932, 3874), (1933, 3876), (1934, 3878), (1935, 3880), (1936, 3882), (1937, 3884), (1938, 3886), (1939, 3888), (1940, 3890), (1941, 3892), (1942, 3894), (1943, 3896), (1944, 3898), (1945, 3900), (1946, 3902), (1947, 3904), (1948, 3906), (1949, 3908), (1950, 3910), (1951, 3912), (1952, 3914), (1953, 3916), (1954, 3918), (1955, 3920), (1956, 3922), (1957, 3924), (1958, 3926), (1959, 3928), (1960, 3930), (1961, 3932), (1962, 3934), (1963, 3936), (1964, 3938), (1965, 3940), (1966, 3942), (1967, 3944), (1968, 3946), (1969, 3948), (1970, 3950), (1971, 3952), (1972, 3954), (1973, 3956), (1974, 3958), (1975, 3960), (1976, 3962), (1977, 3964), (1978, 3966), (1979, 3968), (1980, 3970), (1981, 3972), (1982, 3974), (1983, 3976), (1984, 3978), (1985, 3980), (1986, 3982), (1987, 3984), (1988, 3986), (1989, 3988), (1990, 3990), (1991, 3992), (1992, 3994), (1993, 3996), (1994, 3998), (1995, 4000), (1996, 4002), (1997, 4004), (1998, 4006), (1999, 4008), (2000, 4010), (2001, 4012), (2002, 4014), (2003, 4016), (2004, 4018), (2005, 4020), (2006, 4022), (2007, 4024), (2008, 4026), (2009, 4028), (2010, 4030), (2011, 4032), (2012, 4034), (2013, 4036), (2014, 4038), (2015, 4040), (2016, 4042), (2017, 4044), (2018, 4046), (2019, 4048), (2020, 4050), (2021, 4052), (2022, 4054), (2023, 4056), (2024, 4058), (2025, 4060), (2026, 4062), (2027, 4064), (2028, 4066), (2029, 4068), (2030, 4070), (2031, 4072), (2032, 4074), (2033, 4076), (2034, 4078), (2035, 4080), (2036, 4082), (2037, 4084), (2038, 4086), (2039, 4088), (2040, 4090), (2041, 4092), (2042, 4094), (2043, 4096), (2044, 4098), (2045, 4100), (2046, 4102), (2047, 4104), (2048, 4106), (2049, 4108), (2050, 4110), (2051, 4112), (2052, 4114), (2053, 4116), (2054, 4118), (2055, 4120), (2056, 4122), (2057, 4124), (2058, 4126), (2059, 4128), (2060, 4130), (2061, 4132), (2062, 4134), (2063, 4136), (2064, 4138), (2065, 4140), (2066, 4142), (2067, 4144), (2068, 4146), (2069, 4148), (2070, 4150), (2071, 4152), (2072, 4154), (2073, 4156), (2074, 4158), (2075, 4160), (2076, 4162), (2077, 4164), (2078, 4166), (2079, 4168), (2080, 4170), (2081, 4172), (2082, 4174), (2083, 4176), (2084, 4178), (2085, 4180), (2086, 4182), (2087, 4184), (2088, 4186), (2089, 4188), (2090, 4190), (2091, 4192), (2092, 4194), (2093, 4196), (2094, 4198), (2095, 4200), (2096, 4202), (2097, 4204), (2098, 4206), (2099, 4208), (2100, 4210), (2101, 4212), (2102, 4214), (2103, 4216), (2104, 4218), (2105, 4220), (2106, 4222), (2107, 4224), (2108, 4226), (2109, 4228), (2110, 4230), (2111, 4232), (2112, 4234), (2113, 4236), (2114, 4238), (2115, 4240), (2116, 4242), (2117, 4244), (2118, 4246), (2119, 4248), (2120, 4250), (2121, 4252), (2122, 4254), (2123, 4256), (2124, 4258), (2125, 4260), (2126, 4262), (2127, 4264), (2128, 4266), (2129, 4268), (2130, 4270), (2131, 4272), (2132, 4274), (2133, 4276), (2134, 4278), (2135, 4280), (2136, 4282), (2137, 4284), (2138, 4286), (2139, 4288), (2140, 4290), (2141, 4292), (2142, 4294), (2143, 4296), (2144, 4298), (2145, 4300), (2146, 4302), (2147, 4304), (2148, 4306), (2149, 4308), (2150, 4310), (2151, 4312), (2152, 4314), (2153, 4316), (2154, 4318), (2155, 4320), (2156, 4322), (2157, 4324), (2158, 4326), (2159, 4328), (2160, 4330), (2161, 4332), (2162, 4334), (2163, 4336), (2164, 4338), (2165, 4340), (2166, 4342), (2167, 4344), (2168, 4346), (2169, 4348), (2170, 4350), (2171, 4352), (2172, 4354), (2173, 4356), (2174, 4358), (2175, 4360), (2176, 4362), (2177, 4364), (2178, 4366), (2179, 4368), (2180, 4370), (2181, 4372), (2182, 4374), (2183, 4376), (2184, 4378), (2185, 4380), (2186, 4382), (2187, 4384), (2188, 4386), (2189, 4388), (2190, 4390), (2191, 4392), (2192, 4394), (2193, 4396), (2194, 4398), (2195, 4400), (2196, 4402), (2197, 4404), (2198, 4406), (2199, 4408), (2200, 4410), (2201, 4412), (2202, 4414), (2203, 4416), (2204, 4418), (2205, 4420), (2206, 4422), (2207, 4424), (2208, 4426), (2209, 4428), (2210, 4430), (2211, 4432), (2212, 4434), (2213, 4436), (2214, 4438), (2215, 4440), (2216, 4442), (2217, 4444), (2218, 4446), (2219, 4448), (2220, 4450), (2221, 4452), (2222, 4454), (2223, 4456), (2224, 4458), (2225, 4460), (2226, 4462), (2227, 4464), (2228, 4466), (2229, 4468), (2230, 4470), (2231, 4472), (2232, 4474), (2233, 4476), (2234, 4478), (2235, 4480), (2236, 4482), (2237, 4484), (2238, 4486), (2239, 4488), (2240, 4490), (2241, 4492), (2242, 4494), (2243, 4496), (2244, 4498), (2245, 4500), (2246, 4502), (2247, 4504), (2248, 4506), (2249, 4508), (2250, 4510), (2251, 4512), (2252, 4514), (2253, 4516), (2254, 4518), (2255, 4520), (2256, 4522), (2257, 4524), (2258, 4526), (2259, 4528), (2260, 4530), (2261, 4532), (2262, 4534), (2263, 4536), (2264, 4538), (2265, 4540), (2266, 4542), (2267, 4544), (2268, 4546), (2269, 4548), (2270, 4550), (2271, 4552), (2272, 4554), (2273, 4556), (2274, 4558), (2275, 4560), (2276, 4562), (2277, 4564), (2278, 4566), (2279, 4568), (2280, 4570), (2281, 4572), (2282, 4574), (2283, 4576), (2284, 4578), (2285, 4580), (2286, 4582), (2287, 4584), (2288, 4586), (2289, 4588), (2290, 4590), (2291, 4592), (2292, 4594), (2293, 4596), (2294, 4598), (2295, 4600), (2296, 4602), (2297, 4604), (2298, 4606), (2299, 4608), (2300, 4610), (2301, 4612), (2302, 4614), (2303, 4616), (2304, 4618), (2305, 4620), (2306, 4622), (2307, 4624), (2308, 4626), (2309, 4628), (2310, 4630), (2311, 4632), (2312, 4634), (2313, 4636), (2314, 4638), (2315, 4640), (2316, 4642), (2317, 4644), (2318, 4646), (2319, 4648), (2320, 4650), (2321, 4652), (2322, 4654), (2323, 4656), (2324, 4658), (2325, 4660), (2326, 4662), (2327, 4664), (2328, 4666), (2329, 4668), (2330, 4670), (2331, 4672), (2332, 4674), (2333, 4676), (2334, 4678), (2335, 4680), (2336, 4682), (2337, 4684), (2338, 4686), (2339, 4688), (2340, 4690), (2341, 4692), (2342, 4694), (2343, 4696), (2344, 4698), (2345, 4700), (2346, 4702), (2347, 4704), (2348, 4706), (2349, 4708), (2350, 4710), (2351, 4712), (2352, 4714), (2353, 4716), (2354, 4718), (2355, 4720), (2356, 4722), (2357, 4724), (2358, 4726), (2359, 4728), (2360, 4730), (2361, 4732), (2362, 4734), (2363, 4736), (2364, 4738), (2365, 4740), (2366, 4742), (2367, 4744), (2368, 4746), (2369, 4748), (2370, 4750), (2371, 4752), (2372, 4754), (2373, 4756), (2374, 4758), (2375, 4760), (2376, 4762), (2377, 4764), (2378, 4766), (2379, 4768), (2380, 4770), (2381, 4772), (2382, 4774), (2383, 4776), (2384, 4778), (2385, 4780), (2386, 4782), (2387, 4784), (2388, 4786), (2389, 4788), (2390, 4790), (2391, 4792), (2392, 4794), (2393, 4796), (2394, 4798), (2395, 4800), (2396, 4802), (2397, 4804), (2398, 4806), (2399, 4808), (2400, 4810), (2401, 4812), (2402, 4814), (2403, 4816), (2404, 4818), (2405, 4820), (2406, 4822), (2407, 4824), (2408, 4826), (2409, 4828), (2410, 4830), (2411, 4832), (2412, 4834), (2413, 4836), (2414, 4838), (2415, 4840), (2416, 4842), (2417, 4844), (2418, 4846), (2419, 4848), (2420, 4850), (2421, 4852), (2422, 4854), (2423, 4856), (2424, 4858), (2425, 4860), (2426, 4862), (2427, 4864), (2428, 4866), (2429, 4868), (2430, 4870), (2431, 4872), (2432, 4874), (2433, 4876), (2434, 4878), (2435, 4880), (2436, 4882), (2437, 4884), (2438, 4886), (2439, 4888), (2440, 4890), (2441, 4892), (2442, 4894), (2443, 4896), (2444, 4898), (2445, 4900), (2446, 4902), (2447, 4904), (2448, 4906), (2449, 4908), (2450, 4910), (2451, 4912), (2452, 4914), (2453, 4916), (2454, 4918), (2455, 4920), (2456, 4922), (2457, 4924), (2458, 4926), (2459, 4928), (2460, 4930), (2461, 4932), (2462, 4934), (2463, 4936), (2464, 4938), (2465, 4940), (2466, 4942), (2467, 4944), (2468, 4946), (2469, 4948), (2470, 4950), (2471, 4952), (2472, 4954), (2473, 4956), (2474, 4958), (2475, 4960), (2476, 4962), (2477, 4964), (2478, 4966), (2479, 4968), (2480, 4970), (2481, 4972), (2482, 4974), (2483, 4976), (2484, 4978), (2485, 4980), (2486, 4982), (2487, 4984), (2488, 4986), (2489, 4988), (2490, 4990), (2491, 4992), (2492, 4994), (2493, 4996), (2494, 4998), (2495, 5000), (2496, 5002), (2497, 5004), (2498, 5006), (2499, 5008), (2500, 5010), (2501, 5012), (2502, 5014), (2503, 5016), (2504, 5018), (2505, 5020), (2506, 5022), (2507, 5024), (2508, 5026), (2509, 5028), (2510, 5030), (2511, 5032), (2512, 5034), (2513, 5036), (2514, 5038), (2515, 5040), (2516, 5042), (2517, 5044), (2518, 5046), (2519, 5048), (2520, 5050), (2521, 5052), (2522, 5054), (2523, 5056), (2524, 5058), (2525, 5060), (2526, 5062), (2527, 5064), (2528, 5066), (2529, 5068), (2530, 5070), (2531, 5072), (2532, 5074), (2533, 5076), (2534, 5078), (2535, 5080), (2536, 5082), (2537, 5084), (2538, 5086), (2539, 5088), (2540, 5090), (2541, 5092), (2542, 5094), (2543, 5096), (2544, 5098), (2545, 5100), (2546, 5102), (2547, 5104), (2548, 5106), (2549, 5108), (2550, 5110), (2551, 5112), (2552, 5114), (2553, 5116), (2554, 5118), (2555, 5120), (2556, 5122), (2557, 5124), (2558, 5126), (2559, 5128), (2560, 5130), (2561, 5132), (2562, 5134), (2563, 5136), (2564, 5138), (2565, 5140), (2566, 5142), (2567, 5144), (2568, 5146), (2569, 5148), (2570, 5150), (2571, 5152), (2572, 5154), (2573, 5156), (2574, 5158), (2575, 5160), (2576, 5162), (2577, 5164), (2578, 5166), (2579, 5168), (2580, 5170), (2581, 5172), (2582, 5174), (2583, 5176), (2584, 5178), (2585, 5180), (2586, 5182), (2587, 5184), (2588, 5186), (2589, 5188), (2590, 5190), (2591, 5192), (2592, 5194), (2593, 5196), (2594, 5198), (2595, 5200), (2596, 5202), (2597, 5204), (2598, 5206), (2599, 5208), (2600, 5210), (2601, 5212), (2602, 5214), (2603, 5216), (2604, 5218), (2605, 5220), (2606, 5222), (2607, 5224), (2608, 5226), (2609, 5228), (2610, 5230), (2611, 5232), (2612, 5234), (2613, 5236), (2614, 5238), (2615, 5240), (2616, 5242), (2617, 5244), (2618, 5246), (2619, 5248), (2620, 5250), (2621, 5252), (2622, 5254), (2623, 5256), (2624, 5258), (2625, 5260), (2626, 5262), (2627, 5264), (2628, 5266), (2629, 5268), (2630, 5270), (2631, 5272), (2632, 5274), (2633, 5276), (2634, 5278), (2635, 5280), (2636, 5282), (2637, 5284), (2638, 5286), (2639, 5288), (2640, 5290), (2641, 5292), (2642, 5294), (2643, 5296), (2644, 5298), (2645, 5300), (2646, 5302), (2647, 5304), (2648, 5306), (2649, 5308), (2650, 5310), (2651, 5312), (2652, 5314), (2653, 5316), (2654, 5318), (2655, 5320), (2656, 5322), (2657, 5324), (2658, 5326), (2659, 5328), (2660, 5330), (2661, 5332), (2662, 5334), (2663, 5336), (2664, 5338), (2665, 5340), (2666, 5342), (2667, 5344), (2668, 5346), (2669, 5348), (2670, 5350), (2671, 5352), (2672, 5354), (2673, 5356), (2674, 5358), (2675, 5360), (2676, 5362), (2677, 5364), (2678, 5366), (2679, 5368), (2680, 5370), (2681, 5372), (2682, 5374), (2683, 5376), (2684, 5378), (2685, 5380), (2686, 5382), (2687, 5384), (2688, 5386), (2689, 5388), (2690, 5390), (2691, 5392), (2692, 5394), (2693, 5396), (2694, 5398), (2695, 5400), (2696, 5402), (2697, 5404), (2698, 5406), (2699, 5408), (2700, 5410), (2701, 5412), (2702, 5414), (2703, 5416), (2704, 5418), (2705, 5420), (2706, 5422), (2707, 5424), (2708, 5426), (2709, 5428), (2710, 5430), (2711, 5432), (2712, 5434), (2713, 5436), (2714, 5438), (2715, 5440), (2716, 5442), (2717, 5444), (2718, 5446), (2719, 5448), (2720, 5450), (2721, 5452), (2722, 5454), (2723, 5456), (2724, 5458), (2725, 5460), (2726, 5462), (2727, 5464), (2728, 5466), (2729, 5468), (2730, 5470), (2731, 5472), (2732, 5474), (2733, 5476), (2734, 5478), (2735, 5480), (2736, 5482), (2737, 5484), (2738, 5486), (2739, 5488), (2740, 5490), (2741, 5492), (2742, 5494), (2743, 5496), (2744, 5498), (2745, 5500), (2746, 5502), (2747, 5504), (2748, 5506), (2749, 5508), (2750, 5510), (2751, 5512), (2752, 5514), (2753, 5516), (2754, 5518), (2755, 5520), (2756, 5522), (2757, 5524), (2758, 5526), (2759, 5528), (2760, 5530), (2761, 5532), (2762, 5534), (2763, 5536), (2764, 5538), (2765, 5540), (2766, 5542), (2767, 5544), (2768, 5546), (2769, 5548), (2770, 5550), (2771, 5552), (2772, 5554), (2773, 5556), (2774, 5558), (2775, 5560), (2776, 5562), (2777, 5564), (2778, 5566), (2779, 5568), (2780, 5570), (2781, 5572), (2782, 5574), (2783, 5576), (2784, 5578), (2785, 5580), (2786, 5582), (2787, 5584), (2788, 5586), (2789, 5588), (2790, 5590), (2791, 5592), (2792, 5594), (2793, 5596), (2794, 5598), (2795, 5600), (2796, 5602), (2797, 5604), (2798, 5606), (2799, 5608), (2800, 5610), (2801, 5612), (2802, 5614), (2803, 5616), (2804, 5618), (2805, 5620), (2806, 5622), (2807, 5624), (2808, 5626), (2809, 5628), (2810, 5630), (2811, 5632), (2812, 5634), (2813, 5636), (2814, 5638), (2815, 5640), (2816, 5642), (2817, 5644), (2818, 5646), (2819, 5648), (2820, 5650), (2821, 5652), (2822, 5654), (2823, 5656), (2824, 5658), (2825, 5660), (2826, 5662), (2827, 5664), (2828, 5666), (2829, 5668), (2830, 5670), (2831, 5672), (2832, 5674), (2833, 5676), (2834, 5678), (2835, 5680), (2836, 5682), (2837, 5684), (2838, 5686), (2839, 5688), (2840, 5690), (2841, 5692), (2842, 5694), (2843, 5696), (2844, 5698), (2845, 5700), (2846, 5702), (2847, 5704), (2848, 5706), (2849, 5708), (2850, 5710), (2851, 5712), (2852, 5714), (2853, 5716), (2854, 5718), (2855, 5720), (2856, 5722), (2857, 5724), (2858, 5726), (2859, 5728), (2860, 5730), (2861, 5732), (2862, 5734), (2863, 5736), (2864, 5738), (2865, 5740), (2866, 5742), (2867, 5744), (2868, 5746), (2869, 5748), (2870, 5750), (2871, 5752), (2872, 5754), (2873, 5756), (2874, 5758), (2875, 5760), (2876, 5762), (2877, 5764), (2878, 5766), (2879, 5768), (2880, 5770), (2881, 5772), (2882, 5774), (2883, 5776), (2884, 5778), (2885, 5780), (2886, 5782), (2887, 5784), (2888, 5786), (2889, 5788), (2890, 5790), (2891, 5792), (2892, 5794), (2893, 5796), (2894, 5798), (2895, 5800), (2896, 5802), (2897, 5804), (2898, 5806), (2899, 5808), (2900, 5810), (2901, 5812), (2902, 5814), (2903, 5816), (2904, 5818), (2905, 5820), (2906, 5822), (2907, 5824), (2908, 5826), (2909, 5828), (2910, 5830), (2911, 5832), (2912, 5834), (2913, 5836), (2914, 5838), (2915, 5840), (2916, 5842), (2917, 5844), (2918, 5846), (2919, 5848), (2920, 5850), (2921, 5852), (2922, 5854), (2923, 5856), (2924, 5858), (2925, 5860), (2926, 5862), (2927, 5864), (2928, 5866), (2929, 5868), (2930, 5870), (2931, 5872), (2932, 5874), (2933, 5876), (2934, 5878), (2935, 5880), (2936, 5882), (2937, 5884), (2938, 5886), (2939, 5888), (2940, 5890), (2941, 5892), (2942, 5894), (2943, 5896), (2944, 5898), (2945, 5900), (2946, 5902), (2947, 5904), (2948, 5906), (2949, 5908), (2950, 5910), (2951, 5912), (2952, 5914), (2953, 5916), (2954, 5918), (2955, 5920), (2956, 5922), (2957, 5924), (2958, 5926), (2959, 5928), (2960, 5930), (2961, 5932), (2962, 5934), (2963, 5936), (2964, 5938), (2965, 5940), (2966, 5942), (2967, 5944), (2968, 5946), (2969, 5948), (2970, 5950), (2971, 5952), (2972, 5954), (2973, 5956), (2974, 5958), (2975, 5960), (2976, 5962), (2977, 5964), (2978, 5966), (2979, 5968), (2980, 5970), (2981, 5972), (2982, 5974), (2983, 5976), (2984, 5978), (2985, 5980), (2986, 5982), (2987, 5984), (2988, 5986), (2989, 5988), (2990, 5990), (2991, 5992), (2992, 5994), (2993, 5996), (2994, 5998), (2995, 6000), (2996, 6002), (2997, 6004), (2998, 6006), (2999, 6008), (3000, 6010), (3001, 6012), (3002, 6014), (3003, 6016), (3004, 6018), (3005, 6020), (3006, 6022), (3007, 6024), (3008, 6026), (3009, 6028), (3010, 6030), (3011, 6032), (3012, 6034), (3013, 6036), (3014, 6038), (3015, 6040), (3016, 6042), (3017, 6044), (3018, 6046), (3019, 6048), (3020, 6050), (3021, 6052), (3022, 6054), (3023, 6056), (3024, 6058), (3025, 6060), (3026, 6062), (3027, 6064), (3028, 6066), (3029, 6068), (3030, 6070), (3031, 6072), (3032, 6074), (3033, 6076), (3034, 6078), (3035, 6080), (3036, 6082), (3037, 6084), (3038, 6086), (3039, 6088), (3040, 6090), (3041, 6092), (3042, 6094), (3043, 6096), (3044, 6098), (3045, 6100), (3046, 6102), (3047, 6104), (3048, 6106), (3049, 6108), (3050, 6110), (3051, 6112), (3052, 6114), (3053, 6116), (3054, 6118), (3055, 6120), (3056, 6122), (3057, 6124), (3058, 6126), (3059, 6128), (3060, 6130), (3061, 6132), (3062, 6134), (3063, 6136), (3064, 6138), (3065, 6140), (3066, 6142), (3067, 6144), (3068, 6146), (3069, 6148), (3070, 6150), (3071, 6152), (3072, 6154), (3073, 6156), (3074, 6158), (3075, 6160), (3076, 6162), (3077, 6164), (3078, 6166), (3079, 6168), (3080, 6170), (3081, 6172), (3082, 6174), (3083, 6176), (3084, 6178), (3085, 6180), (3086, 6182), (3087, 6184), (3088, 6186), (3089, 6188), (3090, 6190), (3091, 6192), (3092, 6194), (3093, 6196), (3094, 6198), (3095, 6200), (3096, 6202), (3097, 6204), (3098, 6206), (3099, 6208), (3100, 6210), (3101, 6212), (3102, 6214), (3103, 6216), (3104, 6218), (3105, 6220), (3106, 6222), (3107, 6224), (3108, 6226), (3109, 6228), (3110, 6230), (3111, 6232), (3112, 6234), (3113, 6236), (3114, 6238), (3115, 6240), (3116, 6242), (3117, 6244), (3118, 6246), (3119, 6248), (3120, 6250), (3121, 6252), (3122, 6254), (3123, 6256), (3124, 6258), (3125, 6260), (3126, 6262), (3127, 6264), (3128, 6266), (3129, 6268), (3130, 6270), (3131, 6272), (3132, 6274), (3133, 6276), (3134, 6278), (3135, 6280), (3136, 6282), (3137, 6284), (3138, 6286), (3139, 6288), (3140, 6290), (3141, 6292), (3142, 6294), (3143, 6296), (3144, 6298), (3145, 6300), (3146, 6302), (3147, 6304), (3148, 6306), (3149, 6308), (3150, 6310), (3151, 6312), (3152, 6314), (3153, 6316), (3154, 6318), (3155, 6320), (3156, 6322), (3157, 6324), (3158, 6326), (3159, 6328), (3160, 6330), (3161, 6332), (3162, 6334), (3163, 6336), (3164, 6338), (3165, 6340), (3166, 6342), (3167, 6344), (3168, 6346), (3169, 6348), (3170, 6350), (3171, 6352), (3172, 6354), (3173, 6356), (3174, 6358), (3175, 6360), (3176, 6362), (3177, 6364), (3178, 6366), (3179, 6368), (3180, 6370), (3181, 6372), (3182, 6374), (3183, 6376), (3184, 6378), (3185, 6380), (3186, 6382), (3187, 6384), (3188, 6386), (3189, 6388), (3190, 6390), (3191, 6392), (3192, 6394), (3193, 6396), (3194, 6398), (3195, 6400), (3196, 6402), (3197, 6404), (3198, 6406), (3199, 6408), (3200, 6410), (3201, 6412), (3202, 6414), (3203, 6416), (3204, 6418), (3205, 6420), (3206, 6422), (3207, 6424), (3208, 6426), (3209, 6428), (3210, 6430), (3211, 6432), (3212, 6434), (3213, 6436), (3214, 6438), (3215, 6440), (3216, 6442), (3217, 6444), (3218, 6446), (3219, 6448), (3220, 6450), (3221, 6452), (3222, 6454), (3223, 6456), (3224, 6458), (3225, 6460), (3226, 6462), (3227, 6464), (3228, 6466), (3229, 6468), (3230, 6470), (3231, 6472), (3232, 6474), (3233, 6476), (3234, 6478), (3235, 6480), (3236, 6482), (3237, 6484), (3238, 6486), (3239, 6488), (3240, 6490), (3241, 6492), (3242, 6494), (3243, 6496), (3244, 6498), (3245, 6500), (3246, 6502), (3247, 6504), (3248, 6506), (3249, 6508), (3250, 6510), (3251, 6512), (3252, 6514), (3253, 6516), (3254, 6518), (3255, 6520), (3256, 6522), (3257, 6524), (3258, 6526), (3259, 6528), (3260, 6530), (3261, 6532), (3262, 6534), (3263, 6536), (3264, 6538), (3265, 6540), (3266, 6542), (3267, 6544), (3268, 6546), (3269, 6548), (3270, 6550), (3271, 6552), (3272, 6554), (3273, 6556), (3274, 6558), (3275, 6560), (3276, 6562), (3277, 6564), (3278, 6566), (3279, 6568), (3280, 6570), (3281, 6572), (3282, 6574), (3283, 6576), (3284, 6578), (3285, 6580), (3286, 6582), (3287, 6584), (3288, 6586), (3289, 6588), (3290, 6590), (3291, 6592), (3292, 6594), (3293, 6596), (3294, 6598), (3295, 6600), (3296, 6602), (3297, 6604), (3298, 6606), (3299, 6608), (3300, 6610), (3301, 6612), (3302, 6614), (3303, 6616), (3304, 6618), (3305, 6620), (3306, 6622), (3307, 6624), (3308, 6626), (3309, 6628), (3310, 6630), (3311, 6632), (3312, 6634), (3313, 6636), (3314, 6638), (3315, 6640), (3316, 6642), (3317, 6644), (3318, 6646), (3319, 6648), (3320, 6650), (3321, 6652), (3322, 6654), (3323, 6656), (3324, 6658), (3325, 6660), (3326, 6662), (3327, 6664), (3328, 6666), (3329, 6668), (3330, 6670), (3331, 6672), (3332, 6674), (3333, 6676), (3334, 6678), (3335, 6680), (3336, 6682), (3337, 6684), (3338, 6686), (3339, 6688), (3340, 6690), (3341, 6692), (3342, 6694), (3343, 6696), (3344, 6698), (3345, 6700), (3346, 6702), (3347, 6704), (3348, 6706), (3349, 6708), (3350, 6710), (3351, 6712), (3352, 6714), (3353, 6716), (3354, 6718), (3355, 6720), (3356, 6722), (3357, 6724), (3358, 6726), (3359, 6728), (3360, 6730), (3361, 6732), (3362, 6734), (3363, 6736), (3364, 6738), (3365, 6740), (3366, 6742), (3367, 6744), (3368, 6746), (3369, 6748), (3370, 6750), (3371, 6752), (3372, 6754), (3373, 6756), (3374, 6758), (3375, 6760), (3376, 6762), (3377, 6764), (3378, 6766), (3379, 6768), (3380, 6770), (3381, 6772), (3382, 6774), (3383, 6776), (3384, 6778), (3385, 6780), (3386, 6782), (3387, 6784), (3388, 6786), (3389, 6788), (3390, 6790), (3391, 6792), (3392, 6794), (3393, 6796), (3394, 6798), (3395, 6800), (3396, 6802), (3397, 6804), (3398, 6806), (3399, 6808), (3400, 6810), (3401, 6812), (3402, 6814), (3403, 6816), (3404, 6818), (3405, 6820), (3406, 6822), (3407, 6824), (3408, 6826), (3409, 6828), (3410, 6830), (3411, 6832), (3412, 6834), (3413, 6836), (3414, 6838), (3415, 6840), (3416, 6842), (3417, 6844), (3418, 6846), (3419, 6848), (3420, 6850), (3421, 6852), (3422, 6854), (3423, 6856), (3424, 6858), (3425, 6860), (3426, 6862), (3427, 6864), (3428, 6866), (3429, 6868), (3430, 6870), (3431, 6872), (3432, 6874), (3433, 6876), (3434, 6878), (3435, 6880), (3436, 6882), (3437, 6884), (3438, 6886), (3439, 6888), (3440, 6890), (3441, 6892), (3442, 6894), (3443, 6896), (3444, 6898), (3445, 6900), (3446, 6902), (3447, 6904), (3448, 6906), (3449, 6908), (3450, 6910), (3451, 6912), (3452, 6914), (3453, 6916), (3454, 6918), (3455, 6920), (3456, 6922), (3457, 6924), (3458, 6926), (3459, 6928), (3460, 6930), (3461, 6932), (3462, 6934), (3463, 6936), (3464, 6938), (3465, 6940), (3466, 6942), (3467, 6944), (3468, 6946), (3469, 6948), (3470, 6950), (3471, 6952), (3472, 6954), (3473, 6956), (3474, 6958), (3475, 6960), (3476, 6962), (3477, 6964), (3478, 6966), (3479, 6968), (3480, 6970), (3481, 6972), (3482, 6974), (3483, 6976), (3484, 6978), (3485, 6980), (3486, 6982), (3487, 6984), (3488, 6986), (3489, 6988), (3490, 6990), (3491, 6992), (3492, 6994), (3493, 6996), (3494, 6998), (3495, 7000), (3496, 7002), (3497, 7004), (3498, 7006), (3499, 7008), (3500, 7010), (3501, 7012), (3502, 7014), (3503, 7016), (3504, 7018), (3505, 7020), (3506, 7022), (3507, 7024), (3508, 7026), (3509, 7028), (3510, 7030), (3511, 7032), (3512, 7034), (3513, 7036), (3514, 7038), (3515, 7040), (3516, 7042), (3517, 7044), (3518, 7046), (3519, 7048), (3520, 7050), (3521, 7052), (3522, 7054), (3523, 7056), (3524, 7058), (3525, 7060), (3526, 7062), (3527, 7064), (3528, 7066), (3529, 7068), (3530, 7070), (3531, 7072), (3532, 7074), (3533, 7076), (3534, 7078), (3535, 7080), (3536, 7082), (3537, 7084), (3538, 7086), (3539, 7088), (3540, 7090), (3541, 7092), (3542, 7094), (3543, 7096), (3544, 7098), (3545, 7100), (3546, 7102), (3547, 7104), (3548, 7106), (3549, 7108), (3550, 7110), (3551, 7112), (3552, 7114), (3553, 7116), (3554, 7118), (3555, 7120), (3556, 7122), (3557, 7124), (3558, 7126), (3559, 7128), (3560, 7130), (3561, 7132), (3562, 7134), (3563, 7136), (3564, 7138), (3565, 7140), (3566, 7142), (3567, 7144), (3568, 7146), (3569, 7148), (3570, 7150), (3571, 7152), (3572, 7154), (3573, 7156), (3574, 7158), (3575, 7160), (3576, 7162), (3577, 7164), (3578, 7166), (3579, 7168), (3580, 7170), (3581, 7172), (3582, 7174), (3583, 7176), (3584, 7178), (3585, 7180), (3586, 7182), (3587, 7184), (3588, 7186), (3589, 7188), (3590, 7190), (3591, 7192), (3592, 7194), (3593, 7196), (3594, 7198), (3595, 7200), (3596, 7202), (3597, 7204), (3598, 7206), (3599, 7208), (3600, 7210), (3601, 7212), (3602, 7214), (3603, 7216), (3604, 7218), (3605, 7220), (3606, 7222), (3607, 7224), (3608, 7226), (3609, 7228), (3610, 7230), (3611, 7232), (3612, 7234), (3613, 7236), (3614, 7238), (3615, 7240), (3616, 7242), (3617, 7244), (3618, 7246), (3619, 7248), (3620, 7250), (3621, 7252), (3622, 7254), (3623, 7256), (3624, 7258), (3625, 7260), (3626, 7262), (3627, 7264), (3628, 7266), (3629, 7268), (3630, 7270), (3631, 7272), (3632, 7274), (3633, 7276), (3634, 7278), (3635, 7280), (3636, 7282), (3637, 7284), (3638, 7286), (3639, 7288), (3640, 7290), (3641, 7292), (3642, 7294), (3643, 7296), (3644, 7298), (3645, 7300), (3646, 7302), (3647, 7304), (3648, 7306), (3649, 7308), (3650, 7310), (3651, 7312), (3652, 7314), (3653, 7316), (3654, 7318), (3655, 7320), (3656, 7322), (3657, 7324), (3658, 7326), (3659, 7328), (3660, 7330), (3661, 7332), (3662, 7334), (3663, 7336), (3664, 7338), (3665, 7340), (3666, 7342), (3667, 7344), (3668, 7346), (3669, 7348), (3670, 7350), (3671, 7352), (3672, 7354), (3673, 7356), (3674, 7358), (3675, 7360), (3676, 7362), (3677, 7364), (3678, 7366), (3679, 7368), (3680, 7370), (3681, 7372), (3682, 7374), (3683, 7376), (3684, 7378), (3685, 7380), (3686, 7382), (3687, 7384), (3688, 7386), (3689, 7388), (3690, 7390), (3691, 7392), (3692, 7394), (3693, 7396), (3694, 7398), (3695, 7400), (3696, 7402), (3697, 7404), (3698, 7406), (3699, 7408), (3700, 7410), (3701, 7412), (3702, 7414), (3703, 7416), (3704, 7418), (3705, 7420), (3706, 7422), (3707, 7424), (3708, 7426), (3709, 7428), (3710, 7430), (3711, 7432), (3712, 7434), (3713, 7436), (3714, 7438), (3715, 7440), (3716, 7442), (3717, 7444), (3718, 7446), (3719, 7448), (3720, 7450), (3721, 7452), (3722, 7454), (3723, 7456), (3724, 7458), (3725, 7460), (3726, 7462), (3727, 7464), (3728, 7466), (3729, 7468), (3730, 7470), (3731, 7472), (3732, 7474), (3733, 7476), (3734, 7478), (3735, 7480), (3736, 7482), (3737, 7484), (3738, 7486), (3739, 7488), (3740, 7490), (3741, 7492), (3742, 7494), (3743, 7496), (3744, 7498), (3745, 7500), (3746, 7502), (3747, 7504), (3748, 7506), (3749, 7508), (3750, 7510), (3751, 7512), (3752, 7514), (3753, 7516), (3754, 7518), (3755, 7520), (3756, 7522), (3757, 7524), (3758, 7526), (3759, 7528), (3760, 7530), (3761, 7532), (3762, 7534), (3763, 7536), (3764, 7538), (3765, 7540), (3766, 7542), (3767, 7544), (3768, 7546), (3769, 7548), (3770, 7550), (3771, 7552), (3772, 7554), (3773, 7556), (3774, 7558), (3775, 7560), (3776, 7562), (3777, 7564), (3778, 7566), (3779, 7568), (3780, 7570), (3781, 7572), (3782, 7574), (3783, 7576), (3784, 7578), (3785, 7580), (3786, 7582), (3787, 7584), (3788, 7586), (3789, 7588), (3790, 7590), (3791, 7592), (3792, 7594), (3793, 7596), (3794, 7598), (3795, 7600), (3796, 7602), (3797, 7604), (3798, 7606), (3799, 7608), (3800, 7610), (3801, 7612), (3802, 7614), (3803, 7616), (3804, 7618), (3805, 7620), (3806, 7622), (3807, 7624), (3808, 7626), (3809, 7628), (3810, 7630), (3811, 7632), (3812, 7634), (3813, 7636), (3814, 7638), (3815, 7640), (3816, 7642), (3817, 7644), (3818, 7646), (3819, 7648), (3820, 7650), (3821, 7652), (3822, 7654), (3823, 7656), (3824, 7658), (3825, 7660), (3826, 7662), (3827, 7664), (3828, 7666), (3829, 7668), (3830, 7670), (3831, 7672), (3832, 7674), (3833, 7676), (3834, 7678), (3835, 7680), (3836, 7682), (3837, 7684), (3838, 7686), (3839, 7688), (3840, 7690), (3841, 7692), (3842, 7694), (3843, 7696), (3844, 7698), (3845, 7700), (3846, 7702), (3847, 7704), (3848, 7706), (3849, 7708), (3850, 7710), (3851, 7712), (3852, 7714), (3853, 7716), (3854, 7718), (3855, 7720), (3856, 7722), (3857, 7724), (3858, 7726), (3859, 7728), (3860, 7730), (3861, 7732), (3862, 7734), (3863, 7736), (3864, 7738), (3865, 7740), (3866, 7742), (3867, 7744), (3868, 7746), (3869, 7748), (3870, 7750), (3871, 7752), (3872, 7754), (3873, 7756), (3874, 7758), (3875, 7760), (3876, 7762), (3877, 7764), (3878, 7766), (3879, 7768), (3880, 7770), (3881, 7772), (3882, 7774), (3883, 7776), (3884, 7778), (3885, 7780), (3886, 7782), (3887, 7784), (3888, 7786), (3889, 7788), (3890, 7790), (3891, 7792), (3892, 7794), (3893, 7796), (3894, 7798), (3895, 7800), (3896, 7802), (3897, 7804), (3898, 7806), (3899, 7808), (3900, 7810), (3901, 7812), (3902, 7814), (3903, 7816), (3904, 7818), (3905, 7820), (3906, 7822), (3907, 7824), (3908, 7826), (3909, 7828), (3910, 7830), (3911, 7832), (3912, 7834), (3913, 7836), (3914, 7838), (3915, 7840), (3916, 7842), (3917, 7844), (3918, 7846), (3919, 7848), (3920, 7850), (3921, 7852), (3922, 7854), (3923, 7856), (3924, 7858), (3925, 7860), (3926, 7862), (3927, 7864), (3928, 7866), (3929, 7868), (3930, 7870), (3931, 7872), (3932, 7874), (3933, 7876), (3934, 7878), (3935, 7880), (3936, 7882), (3937, 7884), (3938, 7886), (3939, 7888), (3940, 7890), (3941, 7892), (3942, 7894), (3943, 7896), (3944, 7898), (3945, 7900), (3946, 7902), (3947, 7904), (3948, 7906), (3949, 7908), (3950, 7910), (3951, 7912), (3952, 7914), (3953, 7916), (3954, 7918), (3955, 7920), (3956, 7922), (3957, 7924), (3958, 7926), (3959, 7928), (3960, 7930), (3961, 7932), (3962, 7934), (3963, 7936), (3964, 7938), (3965, 7940), (3966, 7942), (3967, 7944), (3968, 7946), (3969, 7948), (3970, 7950), (3971, 7952), (3972, 7954), (3973, 7956), (3974, 7958), (3975, 7960), (3976, 7962), (3977, 7964), (3978, 7966), (3979, 7968), (3980, 7970), (3981, 7972), (3982, 7974), (3983, 7976), (3984, 7978), (3985, 7980), (3986, 7982), (3987, 7984), (3988, 7986), (3989, 7988), (3990, 7990), (3991, 7992), (3992, 7994), (3993, 7996), (3994, 7998), (3995, 8000), (3996, 8002), (3997, 8004), (3998, 8006), (3999, 8008), (4000, 8010), (4001, 8012), (4002, 8014), (4003, 8016), (4004, 8018), (4005, 8020), (4006, 8022), (4007, 8024), (4008, 8026), (4009, 8028), (4010, 8030), (4011, 8032), (4012, 8034), (4013, 8036), (4014, 8038), (4015, 8040), (4016, 8042), (4017, 8044), (4018, 8046), (4019, 8048), (4020, 8050), (4021, 8052), (4022, 8054), (4023, 8056), (4024, 8058), (4025, 8060), (4026, 8062), (4027, 8064), (4028, 8066), (4029, 8068), (4030, 8070), (4031, 8072), (4032, 8074), (4033, 8076), (4034, 8078), (4035, 8080), (4036, 8082), (4037, 8084), (4038, 8086), (4039, 8088), (4040, 8090), (4041, 8092), (4042, 8094), (4043, 8096), (4044, 8098), (4045, 8100), (4046, 8102), (4047, 8104), (4048, 8106), (4049, 8108), (4050, 8110), (4051, 8112), (4052, 8114), (4053, 8116), (4054, 8118), (4055, 8120), (4056, 8122), (4057, 8124), (4058, 8126), (4059, 8128), (4060, 8130), (4061, 8132), (4062, 8134), (4063, 8136), (4064, 8138), (4065, 8140), (4066, 8142), (4067, 8144), (4068, 8146), (4069, 8148), (4070, 8150), (4071, 8152), (4072, 8154), (4073, 8156), (4074, 8158), (4075, 8160), (4076, 8162), (4077, 8164), (4078, 8166), (4079, 8168), (4080, 8170), (4081, 8172), (4082, 8174), (4083, 8176), (4084, 8178), (4085, 8180), (4086, 8182), (4087, 8184), (4088, 8186), (4089, 8188), (4090, 8190), (4091, 8192), (4092, 8194), (4093, 8196), (4094, 8198), (4095, 8200), (4096, 8202), (4097, 8204), (4098, 8206), (4099, 8208), (4100, 8210), (4101, 8212), (4102, 8214), (4103, 8216), (4104, 8218), (4105, 8220), (4106, 8222), (4107, 8224), (4108, 8226), (4109, 8228), (4110, 8230), (4111, 8232), (4112, 8234), (4113, 8236), (4114, 8238), (4115, 8240), (4116, 8242), (4117, 8244), (4118, 8246), (4119, 8248), (4120, 8250), (4121, 8252), (4122, 8254), (4123, 8256), (4124, 8258), (4125, 8260), (4126, 8262), (4127, 8264), (4128, 8266), (4129, 8268), (4130, 8270), (4131, 8272), (4132, 8274), (4133, 8276), (4134, 8278), (4135, 8280), (4136, 8282), (4137, 8284), (4138, 8286), (4139, 8288), (4140, 8290), (4141, 8292), (4142, 8294), (4143, 8296), (4144, 8298), (4145, 8300), (4146, 8302), (4147, 8304), (4148, 8306), (4149, 8308), (4150, 8310), (4151, 8312), (4152, 8314), (4153, 8316), (4154, 8318), (4155, 8320), (4156, 8322), (4157, 8324), (4158, 8326), (4159, 8328), (4160, 8330), (4161, 8332), (4162, 8334), (4163, 8336), (4164, 8338), (4165, 8340), (4166, 8342), (4167, 8344), (4168, 8346), (4169, 8348), (4170, 8350), (4171, 8352), (4172, 8354), (4173, 8356), (4174, 8358), (4175, 8360), (4176, 8362), (4177, 8364), (4178, 8366), (4179, 8368), (4180, 8370), (4181, 8372), (4182, 8374), (4183, 8376), (4184, 8378), (4185, 8380), (4186, 8382), (4187, 8384), (4188, 8386), (4189, 8388), (4190, 8390), (4191, 8392), (4192, 8394), (4193, 8396), (4194, 8398), (4195, 8400), (4196, 8402), (4197, 8404), (4198, 8406), (4199, 8408), (4200, 8410), (4201, 8412), (4202, 8414), (4203, 8416), (4204, 8418), (4205, 8420), (4206, 8422), (4207, 8424), (4208, 8426), (4209, 8428), (4210, 8430), (4211, 8432), (4212, 8434), (4213, 8436), (4214, 8438), (4215, 8440), (4216, 8442), (4217, 8444), (4218, 8446), (4219, 8448), (4220, 8450), (4221, 8452), (4222, 8454), (4223, 8456), (4224, 8458), (4225, 8460), (4226, 8462), (4227, 8464), (4228, 8466), (4229, 8468), (4230, 8470), (4231, 8472), (4232, 8474), (4233, 8476), (4234, 8478), (4235, 8480), (4236, 8482), (4237, 8484), (4238, 8486), (4239, 8488), (4240, 8490), (4241, 8492), (4242, 8494), (4243, 8496), (4244, 8498), (4245, 8500), (4246, 8502), (4247, 8504), (4248, 8506), (4249, 8508), (4250, 8510), (4251, 8512), (4252, 8514), (4253, 8516), (4254, 8518), (4255, 8520), (4256, 8522), (4257, 8524), (4258, 8526), (4259, 8528), (4260, 8530), (4261, 8532), (4262, 8534), (4263, 8536), (4264, 8538), (4265, 8540), (4266, 8542), (4267, 8544), (4268, 8546), (4269, 8548), (4270, 8550), (4271, 8552), (4272, 8554), (4273, 8556), (4274, 8558), (4275, 8560), (4276, 8562), (4277, 8564), (4278, 8566), (4279, 8568), (4280, 8570), (4281, 8572), (4282, 8574), (4283, 8576), (4284, 8578), (4285, 8580), (4286, 8582), (4287, 8584), (4288, 8586), (4289, 8588), (4290, 8590), (4291, 8592), (4292, 8594), (4293, 8596), (4294, 8598), (4295, 8600), (4296, 8602), (4297, 8604), (4298, 8606), (4299, 8608), (4300, 8610), (4301, 8612), (4302, 8614), (4303, 8616), (4304, 8618), (4305, 8620), (4306, 8622), (4307, 8624), (4308, 8626), (4309, 8628), (4310, 8630), (4311, 8632), (4312, 8634), (4313, 8636), (4314, 8638), (4315, 8640), (4316, 8642), (4317, 8644), (4318, 8646), (4319, 8648), (4320, 8650), (4321, 8652), (4322, 8654), (4323, 8656), (4324, 8658), (4325, 8660), (4326, 8662), (4327, 8664), (4328, 8666), (4329, 8668), (4330, 8670), (4331, 8672), (4332, 8674), (4333, 8676), (4334, 8678), (4335, 8680), (4336, 8682), (4337, 8684), (4338, 8686), (4339, 8688), (4340, 8690), (4341, 8692), (4342, 8694), (4343, 8696), (4344, 8698), (4345, 8700), (4346, 8702), (4347, 8704), (4348, 8706), (4349, 8708), (4350, 8710), (4351, 8712), (4352, 8714), (4353, 8716), (4354, 8718), (4355, 8720), (4356, 8722), (4357, 8724), (4358, 8726), (4359, 8728), (4360, 8730), (4361, 8732), (4362, 8734), (4363, 8736), (4364, 8738), (4365, 8740), (4366, 8742), (4367, 8744), (4368, 8746), (4369, 8748), (4370, 8750), (4371, 8752), (4372, 8754), (4373, 8756), (4374, 8758), (4375, 8760), (4376, 8762), (4377, 8764), (4378, 8766), (4379, 8768), (4380, 8770), (4381, 8772), (4382, 8774), (4383, 8776), (4384, 8778), (4385, 8780), (4386, 8782), (4387, 8784), (4388, 8786), (4389, 8788), (4390, 8790), (4391, 8792), (4392, 8794), (4393, 8796), (4394, 8798), (4395, 8800), (4396, 8802), (4397, 8804), (4398, 8806), (4399, 8808), (4400, 8810), (4401, 8812), (4402, 8814), (4403, 8816), (4404, 8818), (4405, 8820), (4406, 8822), (4407, 8824), (4408, 8826), (4409, 8828), (4410, 8830), (4411, 8832), (4412, 8834), (4413, 8836), (4414, 8838), (4415, 8840), (4416, 8842), (4417, 8844), (4418, 8846), (4419, 8848), (4420, 8850), (4421, 8852), (4422, 8854), (4423, 8856), (4424, 8858), (4425, 8860), (4426, 8862), (4427, 8864), (4428, 8866), (4429, 8868), (4430, 8870), (4431, 8872), (4432, 8874), (4433, 8876), (4434, 8878), (4435, 8880), (4436, 8882), (4437, 8884), (4438, 8886), (4439, 8888), (4440, 8890), (4441, 8892), (4442, 8894), (4443, 8896), (4444, 8898), (4445, 8900), (4446, 8902), (4447, 8904), (4448, 8906), (4449, 8908), (4450, 8910), (4451, 8912), (4452, 8914), (4453, 8916), (4454, 8918), (4455, 8920), (4456, 8922), (4457, 8924), (4458, 8926), (4459, 8928), (4460, 8930), (4461, 8932), (4462, 8934), (4463, 8936), (4464, 8938), (4465, 8940), (4466, 8942), (4467, 8944), (4468, 8946), (4469, 8948), (4470, 8950), (4471, 8952), (4472, 8954), (4473, 8956), (4474, 8958), (4475, 8960), (4476, 8962), (4477, 8964), (4478, 8966), (4479, 8968), (4480, 8970), (4481, 8972), (4482, 8974), (4483, 8976), (4484, 8978), (4485, 8980), (4486, 8982), (4487, 8984), (4488, 8986), (4489, 8988), (4490, 8990), (4491, 8992), (4492, 8994), (4493, 8996), (4494, 8998), (4495, 9000), (4496, 9002), (4497, 9004), (4498, 9006), (4499, 9008), (4500, 9010), (4501, 9012), (4502, 9014), (4503, 9016), (4504, 9018), (4505, 9020), (4506, 9022), (4507, 9024), (4508, 9026), (4509, 9028), (4510, 9030), (4511, 9032), (4512, 9034), (4513, 9036), (4514, 9038), (4515, 9040), (4516, 9042), (4517, 9044), (4518, 9046), (4519, 9048), (4520, 9050), (4521, 9052), (4522, 9054), (4523, 9056), (4524, 9058), (4525, 9060), (4526, 9062), (4527, 9064), (4528, 9066), (4529, 9068), (4530, 9070), (4531, 9072), (4532, 9074), (4533, 9076), (4534, 9078), (4535, 9080), (4536, 9082), (4537, 9084), (4538, 9086), (4539, 9088), (4540, 9090), (4541, 9092), (4542, 9094), (4543, 9096), (4544, 9098), (4545, 9100), (4546, 9102), (4547, 9104), (4548, 9106), (4549, 9108), (4550, 9110), (4551, 9112), (4552, 9114), (4553, 9116), (4554, 9118), (4555, 9120), (4556, 9122), (4557, 9124), (4558, 9126), (4559, 9128), (4560, 9130), (4561, 9132), (4562, 9134), (4563, 9136), (4564, 9138), (4565, 9140), (4566, 9142), (4567, 9144), (4568, 9146), (4569, 9148), (4570, 9150), (4571, 9152), (4572, 9154), (4573, 9156), (4574, 9158), (4575, 9160), (4576, 9162), (4577, 9164), (4578, 9166), (4579, 9168), (4580, 9170), (4581, 9172), (4582, 9174), (4583, 9176), (4584, 9178), (4585, 9180), (4586, 9182), (4587, 9184), (4588, 9186), (4589, 9188), (4590, 9190), (4591, 9192), (4592, 9194), (4593, 9196), (4594, 9198), (4595, 9200), (4596, 9202), (4597, 9204), (4598, 9206), (4599, 9208), (4600, 9210), (4601, 9212), (4602, 9214), (4603, 9216), (4604, 9218), (4605, 9220), (4606, 9222), (4607, 9224), (4608, 9226), (4609, 9228), (4610, 9230), (4611, 9232), (4612, 9234), (4613, 9236), (4614, 9238), (4615, 9240), (4616, 9242), (4617, 9244), (4618, 9246), (4619, 9248), (4620, 9250), (4621, 9252), (4622, 9254), (4623, 9256), (4624, 9258), (4625, 9260), (4626, 9262), (4627, 9264), (4628, 9266), (4629, 9268), (4630, 9270), (4631, 9272), (4632, 9274), (4633, 9276), (4634, 9278), (4635, 9280), (4636, 9282), (4637, 9284), (4638, 9286), (4639, 9288), (4640, 9290), (4641, 9292), (4642, 9294), (4643, 9296), (4644, 9298), (4645, 9300), (4646, 9302), (4647, 9304), (4648, 9306), (4649, 9308), (4650, 9310), (4651, 9312), (4652, 9314), (4653, 9316), (4654, 9318), (4655, 9320), (4656, 9322), (4657, 9324), (4658, 9326), (4659, 9328), (4660, 9330), (4661, 9332), (4662, 9334), (4663, 9336), (4664, 9338), (4665, 9340), (4666, 9342), (4667, 9344), (4668, 9346), (4669, 9348), (4670, 9350), (4671, 9352), (4672, 9354), (4673, 9356), (4674, 9358), (4675, 9360), (4676, 9362), (4677, 9364), (4678, 9366), (4679, 9368), (4680, 9370), (4681, 9372), (4682, 9374), (4683, 9376), (4684, 9378), (4685, 9380), (4686, 9382), (4687, 9384), (4688, 9386), (4689, 9388), (4690, 9390), (4691, 9392), (4692, 9394), (4693, 9396), (4694, 9398), (4695, 9400), (4696, 9402), (4697, 9404), (4698, 9406), (4699, 9408), (4700, 9410), (4701, 9412), (4702, 9414), (4703, 9416), (4704, 9418), (4705, 9420), (4706, 9422), (4707, 9424), (4708, 9426), (4709, 9428), (4710, 9430), (4711, 9432), (4712, 9434), (4713, 9436), (4714, 9438), (4715, 9440), (4716, 9442), (4717, 9444), (4718, 9446), (4719, 9448), (4720, 9450), (4721, 9452), (4722, 9454), (4723, 9456), (4724, 9458), (4725, 9460), (4726, 9462), (4727, 9464), (4728, 9466), (4729, 9468), (4730, 9470), (4731, 9472), (4732, 9474), (4733, 9476), (4734, 9478), (4735, 9480), (4736, 9482), (4737, 9484), (4738, 9486), (4739, 9488), (4740, 9490), (4741, 9492), (4742, 9494), (4743, 9496), (4744, 9498), (4745, 9500), (4746, 9502), (4747, 9504), (4748, 9506), (4749, 9508), (4750, 9510), (4751, 9512), (4752, 9514), (4753, 9516), (4754, 9518), (4755, 9520), (4756, 9522), (4757, 9524), (4758, 9526), (4759, 9528), (4760, 9530), (4761, 9532), (4762, 9534), (4763, 9536), (4764, 9538), (4765, 9540), (4766, 9542), (4767, 9544), (4768, 9546), (4769, 9548), (4770, 9550), (4771, 9552), (4772, 9554), (4773, 9556), (4774, 9558), (4775, 9560), (4776, 9562), (4777, 9564), (4778, 9566), (4779, 9568), (4780, 9570), (4781, 9572), (4782, 9574), (4783, 9576), (4784, 9578), (4785, 9580), (4786, 9582), (4787, 9584), (4788, 9586), (4789, 9588), (4790, 9590), (4791, 9592), (4792, 9594), (4793, 9596), (4794, 9598), (4795, 9600), (4796, 9602), (4797, 9604), (4798, 9606), (4799, 9608), (4800, 9610), (4801, 9612), (4802, 9614), (4803, 9616), (4804, 9618), (4805, 9620), (4806, 9622), (4807, 9624), (4808, 9626), (4809, 9628), (4810, 9630), (4811, 9632), (4812, 9634), (4813, 9636), (4814, 9638), (4815, 9640), (4816, 9642), (4817, 9644), (4818, 9646), (4819, 9648), (4820, 9650), (4821, 9652), (4822, 9654), (4823, 9656), (4824, 9658), (4825, 9660), (4826, 9662), (4827, 9664), (4828, 9666), (4829, 9668), (4830, 9670), (4831, 9672), (4832, 9674), (4833, 9676), (4834, 9678), (4835, 9680), (4836, 9682), (4837, 9684), (4838, 9686), (4839, 9688), (4840, 9690), (4841, 9692), (4842, 9694), (4843, 9696), (4844, 9698), (4845, 9700), (4846, 9702), (4847, 9704), (4848, 9706), (4849, 9708), (4850, 9710), (4851, 9712), (4852, 9714), (4853, 9716), (4854, 9718), (4855, 9720), (4856, 9722), (4857, 9724), (4858, 9726), (4859, 9728), (4860, 9730), (4861, 9732), (4862, 9734), (4863, 9736), (4864, 9738), (4865, 9740), (4866, 9742), (4867, 9744), (4868, 9746), (4869, 9748), (4870, 9750), (4871, 9752), (4872, 9754), (4873, 9756), (4874, 9758), (4875, 9760), (4876, 9762), (4877, 9764), (4878, 9766), (4879, 9768), (4880, 9770), (4881, 9772), (4882, 9774), (4883, 9776), (4884, 9778), (4885, 9780), (4886, 9782), (4887, 9784), (4888, 9786), (4889, 9788), (4890, 9790), (4891, 9792), (4892, 9794), (4893, 9796), (4894, 9798), (4895, 9800), (4896, 9802), (4897, 9804), (4898, 9806), (4899, 9808), (4900, 9810), (4901, 9812), (4902, 9814), (4903, 9816), (4904, 9818), (4905, 9820), (4906, 9822), (4907, 9824), (4908, 9826), (4909, 9828), (4910, 9830), (4911, 9832), (4912, 9834), (4913, 9836), (4914, 9838), (4915, 9840), (4916, 9842), (4917, 9844), (4918, 9846), (4919, 9848), (4920, 9850), (4921, 9852), (4922, 9854), (4923, 9856), (4924, 9858), (4925, 9860), (4926, 9862), (4927, 9864), (4928, 9866), (4929, 9868), (4930, 9870), (4931, 9872), (4932, 9874), (4933, 9876), (4934, 9878), (4935, 9880), (4936, 9882), (4937, 9884), (4938, 9886), (4939, 9888), (4940, 9890), (4941, 9892), (4942, 9894), (4943, 9896), (4944, 9898), (4945, 9900), (4946, 9902), (4947, 9904), (4948, 9906), (4949, 9908), (4950, 9910), (4951, 9912), (4952, 9914), (4953, 9916), (4954, 9918), (4955, 9920), (4956, 9922), (4957, 9924), (4958, 9926), (4959, 9928), (4960, 9930), (4961, 9932), (4962, 9934), (4963, 9936), (4964, 9938), (4965, 9940), (4966, 9942), (4967, 9944), (4968, 9946), (4969, 9948), (4970, 9950), (4971, 9952), (4972, 9954), (4973, 9956), (4974, 9958), (4975, 9960), (4976, 9962), (4977, 9964), (4978, 9966), (4979, 9968), (4980, 9970), (4981, 9972), (4982, 9974), (4983, 9976), (4984, 9978), (4985, 9980), (4986, 9982), (4987, 9984), (4988, 9986), (4989, 9988), (4990, 9990), (4991, 9992), (4992, 9994), (4993, 9996), (4994, 9998), (4995, 10000), (4996, 10002), (4997, 10004), (4998, 10006), (4999, 10008), (5000, 10010), (5001, 10012), (5002, 10014), (5003, 10016), (5004, 10018), (5005, 10020), (5006, 10022), (5007, 10024), (5008, 10026), (5009, 10028), (5010, 10030), (5011, 10032), (5012, 10034), (5013, 10036), (5014, 10038), (5015, 10040), (5016, 10042), (5017, 10044), (5018, 10046), (5019, 10048), (5020, 10050), (5021, 10052), (5022, 10054), (5023, 10056), (5024, 10058), (5025, 10060), (5026, 10062), (5027, 10064), (5028, 10066), (5029, 10068), (5030, 10070), (5031, 10072), (5032, 10074), (5033, 10076), (5034, 10078), (5035, 10080), (5036, 10082), (5037, 10084), (5038, 10086), (5039, 10088), (5040, 10090), (5041, 10092), (5042, 10094), (5043, 10096), (5044, 10098), (5045, 10100), (5046, 10102), (5047, 10104), (5048, 10106), (5049, 10108), (5050, 10110), (5051, 10112), (5052, 10114), (5053, 10116), (5054, 10118), (5055, 10120), (5056, 10122), (5057, 10124), (5058, 10126), (5059, 10128), (5060, 10130), (5061, 10132), (5062, 10134), (5063, 10136), (5064, 10138), (5065, 10140), (5066, 10142), (5067, 10144), (5068, 10146), (5069, 10148), (5070, 10150), (5071, 10152), (5072, 10154), (5073, 10156), (5074, 10158), (5075, 10160), (5076, 10162), (5077, 10164), (5078, 10166), (5079, 10168), (5080, 10170), (5081, 10172), (5082, 10174), (5083, 10176), (5084, 10178), (5085, 10180), (5086, 10182), (5087, 10184), (5088, 10186), (5089, 10188), (5090, 10190), (5091, 10192), (5092, 10194), (5093, 10196), (5094, 10198), (5095, 10200), (5096, 10202), (5097, 10204), (5098, 10206), (5099, 10208), (5100, 10210), (5101, 10212), (5102, 10214), (5103, 10216), (5104, 10218), (5105, 10220), (5106, 10222), (5107, 10224), (5108, 10226), (5109, 10228), (5110, 10230), (5111, 10232), (5112, 10234), (5113, 10236), (5114, 10238), (5115, 10240), (5116, 10242), (5117, 10244), (5118, 10246), (5119, 10248), (5120, 10250), (5121, 10252), (5122, 10254), (5123, 10256), (5124, 10258), (5125, 10260), (5126, 10262), (5127, 10264), (5128, 10266), (5129, 10268), (5130, 10270), (5131, 10272), (5132, 10274), (5133, 10276), (5134, 10278), (5135, 10280), (5136, 10282), (5137, 10284), (5138, 10286), (5139, 10288), (5140, 10290), (5141, 10292), (5142, 10294), (5143, 10296), (5144, 10298), (5145, 10300), (5146, 10302), (5147, 10304), (5148, 10306), (5149, 10308), (5150, 10310), (5151, 10312), (5152, 10314), (5153, 10316), (5154, 10318), (5155, 10320), (5156, 10322), (5157, 10324), (5158, 10326), (5159, 10328), (5160, 10330), (5161, 10332), (5162, 10334), (5163, 10336), (5164, 10338), (5165, 10340), (5166, 10342), (5167, 10344), (5168, 10346), (5169, 10348), (5170, 10350), (5171, 10352), (5172, 10354), (5173, 10356), (5174, 10358), (5175, 10360), (5176, 10362), (5177, 10364), (5178, 10366), (5179, 10368), (5180, 10370), (5181, 10372), (5182, 10374), (5183, 10376), (5184, 10378), (5185, 10380), (5186, 10382), (5187, 10384), (5188, 10386), (5189, 10388), (5190, 10390), (5191, 10392), (5192, 10394), (5193, 10396), (5194, 10398), (5195, 10400), (5196, 10402), (5197, 10404), (5198, 10406), (5199, 10408), (5200, 10410), (5201, 10412), (5202, 10414), (5203, 10416), (5204, 10418), (5205, 10420), (5206, 10422), (5207, 10424), (5208, 10426), (5209, 10428), (5210, 10430), (5211, 10432), (5212, 10434), (5213, 10436), (5214, 10438), (5215, 10440), (5216, 10442), (5217, 10444), (5218, 10446), (5219, 10448), (5220, 10450), (5221, 10452), (5222, 10454), (5223, 10456), (5224, 10458), (5225, 10460), (5226, 10462), (5227, 10464), (5228, 10466), (5229, 10468), (5230, 10470), (5231, 10472), (5232, 10474), (5233, 10476), (5234, 10478), (5235, 10480), (5236, 10482), (5237, 10484), (5238, 10486), (5239, 10488), (5240, 10490), (5241, 10492), (5242, 10494), (5243, 10496), (5244, 10498), (5245, 10500), (5246, 10502), (5247, 10504), (5248, 10506), (5249, 10508), (5250, 10510), (5251, 10512), (5252, 10514), (5253, 10516), (5254, 10518), (5255, 10520), (5256, 10522), (5257, 10524), (5258, 10526), (5259, 10528), (5260, 10530), (5261, 10532), (5262, 10534), (5263, 10536), (5264, 10538), (5265, 10540), (5266, 10542), (5267, 10544), (5268, 10546), (5269, 10548), (5270, 10550), (5271, 10552), (5272, 10554), (5273, 10556), (5274, 10558), (5275, 10560), (5276, 10562), (5277, 10564), (5278, 10566), (5279, 10568), (5280, 10570), (5281, 10572), (5282, 10574), (5283, 10576), (5284, 10578), (5285, 10580), (5286, 10582), (5287, 10584), (5288, 10586), (5289, 10588), (5290, 10590), (5291, 10592), (5292, 10594), (5293, 10596), (5294, 10598), (5295, 10600), (5296, 10602), (5297, 10604), (5298, 10606), (5299, 10608), (5300, 10610), (5301, 10612), (5302, 10614), (5303, 10616), (5304, 10618), (5305, 10620), (5306, 10622), (5307, 10624), (5308, 10626), (5309, 10628), (5310, 10630), (5311, 10632), (5312, 10634), (5313, 10636), (5314, 10638), (5315, 10640), (5316, 10642), (5317, 10644), (5318, 10646), (5319, 10648), (5320, 10650), (5321, 10652), (5322, 10654), (5323, 10656), (5324, 10658), (5325, 10660), (5326, 10662), (5327, 10664), (5328, 10666), (5329, 10668), (5330, 10670), (5331, 10672), (5332, 10674), (5333, 10676), (5334, 10678), (5335, 10680), (5336, 10682), (5337, 10684), (5338, 10686), (5339, 10688), (5340, 10690), (5341, 10692), (5342, 10694), (5343, 10696), (5344, 10698), (5345, 10700), (5346, 10702), (5347, 10704), (5348, 10706), (5349, 10708), (5350, 10710), (5351, 10712), (5352, 10714), (5353, 10716), (5354, 10718), (5355, 10720), (5356, 10722), (5357, 10724), (5358, 10726), (5359, 10728), (5360, 10730), (5361, 10732), (5362, 10734), (5363, 10736), (5364, 10738), (5365, 10740), (5366, 10742), (5367, 10744), (5368, 10746), (5369, 10748), (5370, 10750), (5371, 10752), (5372, 10754), (5373, 10756), (5374, 10758), (5375, 10760), (5376, 10762), (5377, 10764), (5378, 10766), (5379, 10768), (5380, 10770), (5381, 10772), (5382, 10774), (5383, 10776), (5384, 10778), (5385, 10780), (5386, 10782), (5387, 10784), (5388, 10786), (5389, 10788), (5390, 10790), (5391, 10792), (5392, 10794), (5393, 10796), (5394, 10798), (5395, 10800), (5396, 10802), (5397, 10804), (5398, 10806), (5399, 10808), (5400, 10810), (5401, 10812), (5402, 10814), (5403, 10816), (5404, 10818), (5405, 10820), (5406, 10822), (5407, 10824), (5408, 10826), (5409, 10828), (5410, 10830), (5411, 10832), (5412, 10834), (5413, 10836), (5414, 10838), (5415, 10840), (5416, 10842), (5417, 10844), (5418, 10846), (5419, 10848), (5420, 10850), (5421, 10852), (5422, 10854), (5423, 10856), (5424, 10858), (5425, 10860), (5426, 10862), (5427, 10864), (5428, 10866), (5429, 10868), (5430, 10870), (5431, 10872), (5432, 10874), (5433, 10876), (5434, 10878), (5435, 10880), (5436, 10882), (5437, 10884), (5438, 10886), (5439, 10888), (5440, 10890), (5441, 10892), (5442, 10894), (5443, 10896), (5444, 10898), (5445, 10900), (5446, 10902), (5447, 10904), (5448, 10906), (5449, 10908), (5450, 10910), (5451, 10912), (5452, 10914), (5453, 10916), (5454, 10918), (5455, 10920), (5456, 10922), (5457, 10924), (5458, 10926), (5459, 10928), (5460, 10930), (5461, 10932), (5462, 10934), (5463, 10936), (5464, 10938), (5465, 10940), (5466, 10942), (5467, 10944), (5468, 10946), (5469, 10948), (5470, 10950), (5471, 10952), (5472, 10954), (5473, 10956), (5474, 10958), (5475, 10960), (5476, 10962), (5477, 10964), (5478, 10966), (5479, 10968), (5480, 10970), (5481, 10972), (5482, 10974), (5483, 10976), (5484, 10978), (5485, 10980), (5486, 10982), (5487, 10984), (5488, 10986), (5489, 10988), (5490, 10990), (5491, 10992), (5492, 10994), (5493, 10996), (5494, 10998), (5495, 11000), (5496, 11002), (5497, 11004), (5498, 11006), (5499, 11008), (5500, 11010), (5501, 11012), (5502, 11014), (5503, 11016), (5504, 11018), (5505, 11020), (5506, 11022), (5507, 11024), (5508, 11026), (5509, 11028), (5510, 11030), (5511, 11032), (5512, 11034), (5513, 11036), (5514, 11038), (5515, 11040), (5516, 11042), (5517, 11044), (5518, 11046), (5519, 11048), (5520, 11050), (5521, 11052), (5522, 11054), (5523, 11056), (5524, 11058), (5525, 11060), (5526, 11062), (5527, 11064), (5528, 11066), (5529, 11068), (5530, 11070), (5531, 11072), (5532, 11074), (5533, 11076), (5534, 11078), (5535, 11080), (5536, 11082), (5537, 11084), (5538, 11086), (5539, 11088), (5540, 11090), (5541, 11092), (5542, 11094), (5543, 11096), (5544, 11098), (5545, 11100), (5546, 11102), (5547, 11104), (5548, 11106), (5549, 11108), (5550, 11110), (5551, 11112), (5552, 11114), (5553, 11116), (5554, 11118), (5555, 11120), (5556, 11122), (5557, 11124), (5558, 11126), (5559, 11128), (5560, 11130), (5561, 11132), (5562, 11134), (5563, 11136), (5564, 11138), (5565, 11140), (5566, 11142), (5567, 11144), (5568, 11146), (5569, 11148), (5570, 11150), (5571, 11152), (5572, 11154), (5573, 11156), (5574, 11158), (5575, 11160), (5576, 11162), (5577, 11164), (5578, 11166), (5579, 11168), (5580, 11170), (5581, 11172), (5582, 11174), (5583, 11176), (5584, 11178), (5585, 11180), (5586, 11182), (5587, 11184), (5588, 11186), (5589, 11188), (5590, 11190), (5591, 11192), (5592, 11194), (5593, 11196), (5594, 11198), (5595, 11200), (5596, 11202), (5597, 11204), (5598, 11206), (5599, 11208), (5600, 11210), (5601, 11212), (5602, 11214), (5603, 11216), (5604, 11218), (5605, 11220), (5606, 11222), (5607, 11224), (5608, 11226), (5609, 11228), (5610, 11230), (5611, 11232), (5612, 11234), (5613, 11236), (5614, 11238), (5615, 11240), (5616, 11242), (5617, 11244), (5618, 11246), (5619, 11248), (5620, 11250), (5621, 11252), (5622, 11254), (5623, 11256), (5624, 11258), (5625, 11260), (5626, 11262), (5627, 11264), (5628, 11266), (5629, 11268), (5630, 11270), (5631, 11272), (5632, 11274), (5633, 11276), (5634, 11278), (5635, 11280), (5636, 11282), (5637, 11284), (5638, 11286), (5639, 11288), (5640, 11290), (5641, 11292), (5642, 11294), (5643, 11296), (5644, 11298), (5645, 11300), (5646, 11302), (5647, 11304), (5648, 11306), (5649, 11308), (5650, 11310), (5651, 11312), (5652, 11314), (5653, 11316), (5654, 11318), (5655, 11320), (5656, 11322), (5657, 11324), (5658, 11326), (5659, 11328), (5660, 11330), (5661, 11332), (5662, 11334), (5663, 11336), (5664, 11338), (5665, 11340), (5666, 11342), (5667, 11344), (5668, 11346), (5669, 11348), (5670, 11350), (5671, 11352), (5672, 11354), (5673, 11356), (5674, 11358), (5675, 11360), (5676, 11362), (5677, 11364), (5678, 11366), (5679, 11368), (5680, 11370), (5681, 11372), (5682, 11374), (5683, 11376), (5684, 11378), (5685, 11380), (5686, 11382), (5687, 11384), (5688, 11386), (5689, 11388), (5690, 11390), (5691, 11392), (5692, 11394), (5693, 11396), (5694, 11398), (5695, 11400), (5696, 11402), (5697, 11404), (5698, 11406), (5699, 11408), (5700, 11410), (5701, 11412), (5702, 11414), (5703, 11416), (5704, 11418), (5705, 11420), (5706, 11422), (5707, 11424), (5708, 11426), (5709, 11428), (5710, 11430), (5711, 11432), (5712, 11434), (5713, 11436), (5714, 11438), (5715, 11440), (5716, 11442), (5717, 11444), (5718, 11446), (5719, 11448), (5720, 11450), (5721, 11452), (5722, 11454), (5723, 11456), (5724, 11458), (5725, 11460), (5726, 11462), (5727, 11464), (5728, 11466), (5729, 11468), (5730, 11470), (5731, 11472), (5732, 11474), (5733, 11476), (5734, 11478), (5735, 11480), (5736, 11482), (5737, 11484), (5738, 11486), (5739, 11488), (5740, 11490), (5741, 11492), (5742, 11494), (5743, 11496), (5744, 11498), (5745, 11500), (5746, 11502), (5747, 11504), (5748, 11506), (5749, 11508), (5750, 11510), (5751, 11512), (5752, 11514), (5753, 11516), (5754, 11518), (5755, 11520), (5756, 11522), (5757, 11524), (5758, 11526), (5759, 11528), (5760, 11530), (5761, 11532), (5762, 11534), (5763, 11536), (5764, 11538), (5765, 11540), (5766, 11542), (5767, 11544), (5768, 11546), (5769, 11548), (5770, 11550), (5771, 11552), (5772, 11554), (5773, 11556), (5774, 11558), (5775, 11560), (5776, 11562), (5777, 11564), (5778, 11566), (5779, 11568), (5780, 11570), (5781, 11572), (5782, 11574), (5783, 11576), (5784, 11578), (5785, 11580), (5786, 11582), (5787, 11584), (5788, 11586), (5789, 11588), (5790, 11590), (5791, 11592), (5792, 11594), (5793, 11596), (5794, 11598), (5795, 11600), (5796, 11602), (5797, 11604), (5798, 11606), (5799, 11608), (5800, 11610), (5801, 11612), (5802, 11614), (5803, 11616), (5804, 11618), (5805, 11620), (5806, 11622), (5807, 11624), (5808, 11626), (5809, 11628), (5810, 11630), (5811, 11632), (5812, 11634), (5813, 11636), (5814, 11638), (5815, 11640), (5816, 11642), (5817, 11644), (5818, 11646), (5819, 11648), (5820, 11650), (5821, 11652), (5822, 11654), (5823, 11656), (5824, 11658), (5825, 11660), (5826, 11662), (5827, 11664), (5828, 11666), (5829, 11668), (5830, 11670), (5831, 11672), (5832, 11674), (5833, 11676), (5834, 11678), (5835, 11680), (5836, 11682), (5837, 11684), (5838, 11686), (5839, 11688), (5840, 11690), (5841, 11692), (5842, 11694), (5843, 11696), (5844, 11698), (5845, 11700), (5846, 11702), (5847, 11704), (5848, 11706), (5849, 11708), (5850, 11710), (5851, 11712), (5852, 11714), (5853, 11716), (5854, 11718), (5855, 11720), (5856, 11722), (5857, 11724), (5858, 11726), (5859, 11728), (5860, 11730), (5861, 11732), (5862, 11734), (5863, 11736), (5864, 11738), (5865, 11740), (5866, 11742), (5867, 11744), (5868, 11746), (5869, 11748), (5870, 11750), (5871, 11752), (5872, 11754), (5873, 11756), (5874, 11758), (5875, 11760), (5876, 11762), (5877, 11764), (5878, 11766), (5879, 11768), (5880, 11770), (5881, 11772), (5882, 11774), (5883, 11776), (5884, 11778), (5885, 11780), (5886, 11782), (5887, 11784), (5888, 11786), (5889, 11788), (5890, 11790), (5891, 11792), (5892, 11794), (5893, 11796), (5894, 11798), (5895, 11800), (5896, 11802), (5897, 11804), (5898, 11806), (5899, 11808), (5900, 11810), (5901, 11812), (5902, 11814), (5903, 11816), (5904, 11818), (5905, 11820), (5906, 11822), (5907, 11824), (5908, 11826), (5909, 11828), (5910, 11830), (5911, 11832), (5912, 11834), (5913, 11836), (5914, 11838), (5915, 11840), (5916, 11842), (5917, 11844), (5918, 11846), (5919, 11848), (5920, 11850), (5921, 11852), (5922, 11854), (5923, 11856), (5924, 11858), (5925, 11860), (5926, 11862), (5927, 11864), (5928, 11866), (5929, 11868), (5930, 11870), (5931, 11872), (5932, 11874), (5933, 11876), (5934, 11878), (5935, 11880), (5936, 11882), (5937, 11884), (5938, 11886), (5939, 11888), (5940, 11890), (5941, 11892), (5942, 11894), (5943, 11896), (5944, 11898), (5945, 11900), (5946, 11902), (5947, 11904), (5948, 11906), (5949, 11908), (5950, 11910), (5951, 11912), (5952, 11914), (5953, 11916), (5954, 11918), (5955, 11920), (5956, 11922), (5957, 11924), (5958, 11926), (5959, 11928), (5960, 11930), (5961, 11932), (5962, 11934), (5963, 11936), (5964, 11938), (5965, 11940), (5966, 11942), (5967, 11944), (5968, 11946), (5969, 11948), (5970, 11950), (5971, 11952), (5972, 11954), (5973, 11956), (5974, 11958), (5975, 11960), (5976, 11962), (5977, 11964), (5978, 11966), (5979, 11968), (5980, 11970), (5981, 11972), (5982, 11974), (5983, 11976), (5984, 11978), (5985, 11980), (5986, 11982), (5987, 11984), (5988, 11986), (5989, 11988), (5990, 11990), (5991, 11992), (5992, 11994), (5993, 11996), (5994, 11998), (5995, 12000), (5996, 12002), (5997, 12004), (5998, 12006), (5999, 12008), (6000, 12010), (6001, 12012), (6002, 12014), (6003, 12016), (6004, 12018), (6005, 12020), (6006, 12022), (6007, 12024), (6008, 12026), (6009, 12028), (6010, 12030), (6011, 12032), (6012, 12034), (6013, 12036), (6014, 12038), (6015, 12040), (6016, 12042), (6017, 12044), (6018, 12046), (6019, 12048), (6020, 12050), (6021, 12052), (6022, 12054), (6023, 12056), (6024, 12058), (6025, 12060), (6026, 12062), (6027, 12064), (6028, 12066), (6029, 12068), (6030, 12070), (6031, 12072), (6032, 12074), (6033, 12076), (6034, 12078), (6035, 12080), (6036, 12082), (6037, 12084), (6038, 12086), (6039, 12088), (6040, 12090), (6041, 12092), (6042, 12094), (6043, 12096), (6044, 12098), (6045, 12100), (6046, 12102), (6047, 12104), (6048, 12106), (6049, 12108), (6050, 12110), (6051, 12112), (6052, 12114), (6053, 12116), (6054, 12118), (6055, 12120), (6056, 12122), (6057, 12124), (6058, 12126), (6059, 12128), (6060, 12130), (6061, 12132), (6062, 12134), (6063, 12136), (6064, 12138), (6065, 12140), (6066, 12142), (6067, 12144), (6068, 12146), (6069, 12148), (6070, 12150), (6071, 12152), (6072, 12154), (6073, 12156), (6074, 12158), (6075, 12160), (6076, 12162), (6077, 12164), (6078, 12166), (6079, 12168), (6080, 12170), (6081, 12172), (6082, 12174), (6083, 12176), (6084, 12178), (6085, 12180), (6086, 12182), (6087, 12184), (6088, 12186), (6089, 12188), (6090, 12190), (6091, 12192), (6092, 12194), (6093, 12196), (6094, 12198), (6095, 12200), (6096, 12202), (6097, 12204), (6098, 12206), (6099, 12208), (6100, 12210), (6101, 12212), (6102, 12214), (6103, 12216), (6104, 12218), (6105, 12220), (6106, 12222), (6107, 12224), (6108, 12226), (6109, 12228), (6110, 12230), (6111, 12232), (6112, 12234), (6113, 12236), (6114, 12238), (6115, 12240), (6116, 12242), (6117, 12244), (6118, 12246), (6119, 12248), (6120, 12250), (6121, 12252), (6122, 12254), (6123, 12256), (6124, 12258), (6125, 12260), (6126, 12262), (6127, 12264), (6128, 12266), (6129, 12268), (6130, 12270), (6131, 12272), (6132, 12274), (6133, 12276), (6134, 12278), (6135, 12280), (6136, 12282), (6137, 12284), (6138, 12286), (6139, 12288), (6140, 12290), (6141, 12292), (6142, 12294), (6143, 12296), (6144, 12298), (6145, 12300), (6146, 12302), (6147, 12304), (6148, 12306), (6149, 12308), (6150, 12310), (6151, 12312), (6152, 12314), (6153, 12316), (6154, 12318), (6155, 12320), (6156, 12322), (6157, 12324), (6158, 12326), (6159, 12328), (6160, 12330), (6161, 12332), (6162, 12334), (6163, 12336), (6164, 12338), (6165, 12340), (6166, 12342), (6167, 12344), (6168, 12346), (6169, 12348), (6170, 12350), (6171, 12352), (6172, 12354), (6173, 12356), (6174, 12358), (6175, 12360), (6176, 12362), (6177, 12364), (6178, 12366), (6179, 12368), (6180, 12370), (6181, 12372), (6182, 12374), (6183, 12376), (6184, 12378), (6185, 12380), (6186, 12382), (6187, 12384), (6188, 12386), (6189, 12388), (6190, 12390), (6191, 12392), (6192, 12394), (6193, 12396), (6194, 12398), (6195, 12400), (6196, 12402), (6197, 12404), (6198, 12406), (6199, 12408), (6200, 12410), (6201, 12412), (6202, 12414), (6203, 12416), (6204, 12418), (6205, 12420), (6206, 12422), (6207, 12424), (6208, 12426), (6209, 12428), (6210, 12430), (6211, 12432), (6212, 12434), (6213, 12436), (6214, 12438), (6215, 12440), (6216, 12442), (6217, 12444), (6218, 12446), (6219, 12448), (6220, 12450), (6221, 12452), (6222, 12454), (6223, 12456), (6224, 12458), (6225, 12460), (6226, 12462), (6227, 12464), (6228, 12466), (6229, 12468), (6230, 12470), (6231, 12472), (6232, 12474), (6233, 12476), (6234, 12478), (6235, 12480), (6236, 12482), (6237, 12484), (6238, 12486), (6239, 12488), (6240, 12490), (6241, 12492), (6242, 12494), (6243, 12496), (6244, 12498), (6245, 12500), (6246, 12502), (6247, 12504), (6248, 12506), (6249, 12508), (6250, 12510), (6251, 12512), (6252, 12514), (6253, 12516), (6254, 12518), (6255, 12520), (6256, 12522), (6257, 12524), (6258, 12526), (6259, 12528), (6260, 12530), (6261, 12532), (6262, 12534), (6263, 12536), (6264, 12538), (6265, 12540), (6266, 12542), (6267, 12544), (6268, 12546), (6269, 12548), (6270, 12550), (6271, 12552), (6272, 12554), (6273, 12556), (6274, 12558), (6275, 12560), (6276, 12562), (6277, 12564), (6278, 12566), (6279, 12568), (6280, 12570), (6281, 12572), (6282, 12574), (6283, 12576), (6284, 12578), (6285, 12580), (6286, 12582), (6287, 12584), (6288, 12586), (6289, 12588), (6290, 12590), (6291, 12592), (6292, 12594), (6293, 12596), (6294, 12598), (6295, 12600), (6296, 12602), (6297, 12604), (6298, 12606), (6299, 12608), (6300, 12610), (6301, 12612), (6302, 12614), (6303, 12616), (6304, 12618), (6305, 12620), (6306, 12622), (6307, 12624), (6308, 12626), (6309, 12628), (6310, 12630), (6311, 12632), (6312, 12634), (6313, 12636), (6314, 12638), (6315, 12640), (6316, 12642), (6317, 12644), (6318, 12646), (6319, 12648), (6320, 12650), (6321, 12652), (6322, 12654), (6323, 12656), (6324, 12658), (6325, 12660), (6326, 12662), (6327, 12664), (6328, 12666), (6329, 12668), (6330, 12670), (6331, 12672), (6332, 12674), (6333, 12676), (6334, 12678), (6335, 12680), (6336, 12682), (6337, 12684), (6338, 12686), (6339, 12688), (6340, 12690), (6341, 12692), (6342, 12694), (6343, 12696), (6344, 12698), (6345, 12700), (6346, 12702), (6347, 12704), (6348, 12706), (6349, 12708), (6350, 12710), (6351, 12712), (6352, 12714), (6353, 12716), (6354, 12718), (6355, 12720), (6356, 12722), (6357, 12724), (6358, 12726), (6359, 12728), (6360, 12730), (6361, 12732), (6362, 12734), (6363, 12736), (6364, 12738), (6365, 12740), (6366, 12742), (6367, 12744), (6368, 12746), (6369, 12748), (6370, 12750), (6371, 12752), (6372, 12754), (6373, 12756), (6374, 12758), (6375, 12760), (6376, 12762), (6377, 12764), (6378, 12766), (6379, 12768), (6380, 12770), (6381, 12772), (6382, 12774), (6383, 12776), (6384, 12778), (6385, 12780), (6386, 12782), (6387, 12784), (6388, 12786), (6389, 12788), (6390, 12790), (6391, 12792), (6392, 12794), (6393, 12796), (6394, 12798), (6395, 12800), (6396, 12802), (6397, 12804), (6398, 12806), (6399, 12808), (6400, 12810), (6401, 12812), (6402, 12814), (6403, 12816), (6404, 12818), (6405, 12820), (6406, 12822), (6407, 12824), (6408, 12826), (6409, 12828), (6410, 12830), (6411, 12832), (6412, 12834), (6413, 12836), (6414, 12838), (6415, 12840), (6416, 12842), (6417, 12844), (6418, 12846), (6419, 12848), (6420, 12850), (6421, 12852), (6422, 12854), (6423, 12856), (6424, 12858), (6425, 12860), (6426, 12862), (6427, 12864), (6428, 12866), (6429, 12868), (6430, 12870), (6431, 12872), (6432, 12874), (6433, 12876), (6434, 12878), (6435, 12880), (6436, 12882), (6437, 12884), (6438, 12886), (6439, 12888), (6440, 12890), (6441, 12892), (6442, 12894), (6443, 12896), (6444, 12898), (6445, 12900), (6446, 12902), (6447, 12904), (6448, 12906), (6449, 12908), (6450, 12910), (6451, 12912), (6452, 12914), (6453, 12916), (6454, 12918), (6455, 12920), (6456, 12922), (6457, 12924), (6458, 12926), (6459, 12928), (6460, 12930), (6461, 12932), (6462, 12934), (6463, 12936), (6464, 12938), (6465, 12940), (6466, 12942), (6467, 12944), (6468, 12946), (6469, 12948), (6470, 12950), (6471, 12952), (6472, 12954), (6473, 12956), (6474, 12958), (6475, 12960), (6476, 12962), (6477, 12964), (6478, 12966), (6479, 12968), (6480, 12970), (6481, 12972), (6482, 12974), (6483, 12976), (6484, 12978), (6485, 12980), (6486, 12982), (6487, 12984), (6488, 12986), (6489, 12988), (6490, 12990), (6491, 12992), (6492, 12994), (6493, 12996), (6494, 12998), (6495, 13000), (6496, 13002), (6497, 13004), (6498, 13006), (6499, 13008), (6500, 13010), (6501, 13012), (6502, 13014), (6503, 13016), (6504, 13018), (6505, 13020), (6506, 13022), (6507, 13024), (6508, 13026), (6509, 13028), (6510, 13030), (6511, 13032), (6512, 13034), (6513, 13036), (6514, 13038), (6515, 13040), (6516, 13042), (6517, 13044), (6518, 13046), (6519, 13048), (6520, 13050), (6521, 13052), (6522, 13054), (6523, 13056), (6524, 13058), (6525, 13060), (6526, 13062), (6527, 13064), (6528, 13066), (6529, 13068), (6530, 13070), (6531, 13072), (6532, 13074), (6533, 13076), (6534, 13078), (6535, 13080), (6536, 13082), (6537, 13084), (6538, 13086), (6539, 13088), (6540, 13090), (6541, 13092), (6542, 13094), (6543, 13096), (6544, 13098), (6545, 13100), (6546, 13102), (6547, 13104), (6548, 13106), (6549, 13108), (6550, 13110), (6551, 13112), (6552, 13114), (6553, 13116), (6554, 13118), (6555, 13120), (6556, 13122), (6557, 13124), (6558, 13126), (6559, 13128), (6560, 13130), (6561, 13132), (6562, 13134), (6563, 13136), (6564, 13138), (6565, 13140), (6566, 13142), (6567, 13144), (6568, 13146), (6569, 13148), (6570, 13150), (6571, 13152), (6572, 13154), (6573, 13156), (6574, 13158), (6575, 13160), (6576, 13162), (6577, 13164), (6578, 13166), (6579, 13168), (6580, 13170), (6581, 13172), (6582, 13174), (6583, 13176), (6584, 13178), (6585, 13180), (6586, 13182), (6587, 13184), (6588, 13186), (6589, 13188), (6590, 13190), (6591, 13192), (6592, 13194), (6593, 13196), (6594, 13198), (6595, 13200), (6596, 13202), (6597, 13204), (6598, 13206), (6599, 13208), (6600, 13210), (6601, 13212), (6602, 13214), (6603, 13216), (6604, 13218), (6605, 13220), (6606, 13222), (6607, 13224), (6608, 13226), (6609, 13228), (6610, 13230), (6611, 13232), (6612, 13234), (6613, 13236), (6614, 13238), (6615, 13240), (6616, 13242), (6617, 13244), (6618, 13246), (6619, 13248), (6620, 13250), (6621, 13252), (6622, 13254), (6623, 13256), (6624, 13258), (6625, 13260), (6626, 13262), (6627, 13264), (6628, 13266), (6629, 13268), (6630, 13270), (6631, 13272), (6632, 13274), (6633, 13276), (6634, 13278), (6635, 13280), (6636, 13282), (6637, 13284), (6638, 13286), (6639, 13288), (6640, 13290), (6641, 13292), (6642, 13294), (6643, 13296), (6644, 13298), (6645, 13300), (6646, 13302), (6647, 13304), (6648, 13306), (6649, 13308), (6650, 13310), (6651, 13312), (6652, 13314), (6653, 13316), (6654, 13318), (6655, 13320), (6656, 13322), (6657, 13324), (6658, 13326), (6659, 13328), (6660, 13330), (6661, 13332), (6662, 13334), (6663, 13336), (6664, 13338), (6665, 13340), (6666, 13342), (6667, 13344), (6668, 13346), (6669, 13348), (6670, 13350), (6671, 13352), (6672, 13354), (6673, 13356), (6674, 13358), (6675, 13360), (6676, 13362), (6677, 13364), (6678, 13366), (6679, 13368), (6680, 13370), (6681, 13372), (6682, 13374), (6683, 13376), (6684, 13378), (6685, 13380), (6686, 13382), (6687, 13384), (6688, 13386), (6689, 13388), (6690, 13390), (6691, 13392), (6692, 13394), (6693, 13396), (6694, 13398), (6695, 13400), (6696, 13402), (6697, 13404), (6698, 13406), (6699, 13408), (6700, 13410), (6701, 13412), (6702, 13414), (6703, 13416), (6704, 13418), (6705, 13420), (6706, 13422), (6707, 13424), (6708, 13426), (6709, 13428), (6710, 13430), (6711, 13432), (6712, 13434), (6713, 13436), (6714, 13438), (6715, 13440), (6716, 13442), (6717, 13444), (6718, 13446), (6719, 13448), (6720, 13450), (6721, 13452), (6722, 13454), (6723, 13456), (6724, 13458), (6725, 13460), (6726, 13462), (6727, 13464), (6728, 13466), (6729, 13468), (6730, 13470), (6731, 13472), (6732, 13474), (6733, 13476), (6734, 13478), (6735, 13480), (6736, 13482), (6737, 13484), (6738, 13486), (6739, 13488), (6740, 13490), (6741, 13492), (6742, 13494), (6743, 13496), (6744, 13498), (6745, 13500), (6746, 13502), (6747, 13504), (6748, 13506), (6749, 13508), (6750, 13510), (6751, 13512), (6752, 13514), (6753, 13516), (6754, 13518), (6755, 13520), (6756, 13522), (6757, 13524), (6758, 13526), (6759, 13528), (6760, 13530), (6761, 13532), (6762, 13534), (6763, 13536), (6764, 13538), (6765, 13540), (6766, 13542), (6767, 13544), (6768, 13546), (6769, 13548), (6770, 13550), (6771, 13552), (6772, 13554), (6773, 13556), (6774, 13558), (6775, 13560), (6776, 13562), (6777, 13564), (6778, 13566), (6779, 13568), (6780, 13570), (6781, 13572), (6782, 13574), (6783, 13576), (6784, 13578), (6785, 13580), (6786, 13582), (6787, 13584), (6788, 13586), (6789, 13588), (6790, 13590), (6791, 13592), (6792, 13594), (6793, 13596), (6794, 13598), (6795, 13600), (6796, 13602), (6797, 13604), (6798, 13606), (6799, 13608), (6800, 13610), (6801, 13612), (6802, 13614), (6803, 13616), (6804, 13618), (6805, 13620), (6806, 13622), (6807, 13624), (6808, 13626), (6809, 13628), (6810, 13630), (6811, 13632), (6812, 13634), (6813, 13636), (6814, 13638), (6815, 13640), (6816, 13642), (6817, 13644), (6818, 13646), (6819, 13648), (6820, 13650), (6821, 13652), (6822, 13654), (6823, 13656), (6824, 13658), (6825, 13660), (6826, 13662), (6827, 13664), (6828, 13666), (6829, 13668), (6830, 13670), (6831, 13672), (6832, 13674), (6833, 13676), (6834, 13678), (6835, 13680), (6836, 13682), (6837, 13684), (6838, 13686), (6839, 13688), (6840, 13690), (6841, 13692), (6842, 13694), (6843, 13696), (6844, 13698), (6845, 13700), (6846, 13702), (6847, 13704), (6848, 13706), (6849, 13708), (6850, 13710), (6851, 13712), (6852, 13714), (6853, 13716), (6854, 13718), (6855, 13720), (6856, 13722), (6857, 13724), (6858, 13726), (6859, 13728), (6860, 13730), (6861, 13732), (6862, 13734), (6863, 13736), (6864, 13738), (6865, 13740), (6866, 13742), (6867, 13744), (6868, 13746), (6869, 13748), (6870, 13750), (6871, 13752), (6872, 13754), (6873, 13756), (6874, 13758), (6875, 13760), (6876, 13762), (6877, 13764), (6878, 13766), (6879, 13768), (6880, 13770), (6881, 13772), (6882, 13774), (6883, 13776), (6884, 13778), (6885, 13780), (6886, 13782), (6887, 13784), (6888, 13786), (6889, 13788), (6890, 13790), (6891, 13792), (6892, 13794), (6893, 13796), (6894, 13798), (6895, 13800), (6896, 13802), (6897, 13804), (6898, 13806), (6899, 13808), (6900, 13810), (6901, 13812), (6902, 13814), (6903, 13816), (6904, 13818), (6905, 13820), (6906, 13822), (6907, 13824), (6908, 13826), (6909, 13828), (6910, 13830), (6911, 13832), (6912, 13834), (6913, 13836), (6914, 13838), (6915, 13840), (6916, 13842), (6917, 13844), (6918, 13846), (6919, 13848), (6920, 13850), (6921, 13852), (6922, 13854), (6923, 13856), (6924, 13858), (6925, 13860), (6926, 13862), (6927, 13864), (6928, 13866), (6929, 13868), (6930, 13870), (6931, 13872), (6932, 13874), (6933, 13876), (6934, 13878), (6935, 13880), (6936, 13882), (6937, 13884), (6938, 13886), (6939, 13888), (6940, 13890), (6941, 13892), (6942, 13894), (6943, 13896), (6944, 13898), (6945, 13900), (6946, 13902), (6947, 13904), (6948, 13906), (6949, 13908), (6950, 13910), (6951, 13912), (6952, 13914), (6953, 13916), (6954, 13918), (6955, 13920), (6956, 13922), (6957, 13924), (6958, 13926), (6959, 13928), (6960, 13930), (6961, 13932), (6962, 13934), (6963, 13936), (6964, 13938), (6965, 13940), (6966, 13942), (6967, 13944), (6968, 13946), (6969, 13948), (6970, 13950), (6971, 13952), (6972, 13954), (6973, 13956), (6974, 13958), (6975, 13960), (6976, 13962), (6977, 13964), (6978, 13966), (6979, 13968), (6980, 13970), (6981, 13972), (6982, 13974), (6983, 13976), (6984, 13978), (6985, 13980), (6986, 13982), (6987, 13984), (6988, 13986), (6989, 13988), (6990, 13990), (6991, 13992), (6992, 13994), (6993, 13996), (6994, 13998), (6995, 14000), (6996, 14002), (6997, 14004), (6998, 14006), (6999, 14008), (7000, 14010), (7001, 14012), (7002, 14014), (7003, 14016), (7004, 14018), (7005, 14020), (7006, 14022), (7007, 14024), (7008, 14026), (7009, 14028), (7010, 14030), (7011, 14032), (7012, 14034), (7013, 14036), (7014, 14038), (7015, 14040), (7016, 14042), (7017, 14044), (7018, 14046), (7019, 14048), (7020, 14050), (7021, 14052), (7022, 14054), (7023, 14056), (7024, 14058), (7025, 14060), (7026, 14062), (7027, 14064), (7028, 14066), (7029, 14068), (7030, 14070), (7031, 14072), (7032, 14074), (7033, 14076), (7034, 14078), (7035, 14080), (7036, 14082), (7037, 14084), (7038, 14086), (7039, 14088), (7040, 14090), (7041, 14092), (7042, 14094), (7043, 14096), (7044, 14098), (7045, 14100), (7046, 14102), (7047, 14104), (7048, 14106), (7049, 14108), (7050, 14110), (7051, 14112), (7052, 14114), (7053, 14116), (7054, 14118), (7055, 14120), (7056, 14122), (7057, 14124), (7058, 14126), (7059, 14128), (7060, 14130), (7061, 14132), (7062, 14134), (7063, 14136), (7064, 14138), (7065, 14140), (7066, 14142), (7067, 14144), (7068, 14146), (7069, 14148), (7070, 14150), (7071, 14152), (7072, 14154), (7073, 14156), (7074, 14158), (7075, 14160), (7076, 14162), (7077, 14164), (7078, 14166), (7079, 14168), (7080, 14170), (7081, 14172), (7082, 14174), (7083, 14176), (7084, 14178), (7085, 14180), (7086, 14182), (7087, 14184), (7088, 14186), (7089, 14188), (7090, 14190), (7091, 14192), (7092, 14194), (7093, 14196), (7094, 14198), (7095, 14200), (7096, 14202), (7097, 14204), (7098, 14206), (7099, 14208), (7100, 14210), (7101, 14212), (7102, 14214), (7103, 14216), (7104, 14218), (7105, 14220), (7106, 14222), (7107, 14224), (7108, 14226), (7109, 14228), (7110, 14230), (7111, 14232), (7112, 14234), (7113, 14236), (7114, 14238), (7115, 14240), (7116, 14242), (7117, 14244), (7118, 14246), (7119, 14248), (7120, 14250), (7121, 14252), (7122, 14254), (7123, 14256), (7124, 14258), (7125, 14260), (7126, 14262), (7127, 14264), (7128, 14266), (7129, 14268), (7130, 14270), (7131, 14272), (7132, 14274), (7133, 14276), (7134, 14278), (7135, 14280), (7136, 14282), (7137, 14284), (7138, 14286), (7139, 14288), (7140, 14290), (7141, 14292), (7142, 14294), (7143, 14296), (7144, 14298), (7145, 14300), (7146, 14302), (7147, 14304), (7148, 14306), (7149, 14308), (7150, 14310), (7151, 14312), (7152, 14314), (7153, 14316), (7154, 14318), (7155, 14320), (7156, 14322), (7157, 14324), (7158, 14326), (7159, 14328), (7160, 14330), (7161, 14332), (7162, 14334), (7163, 14336), (7164, 14338), (7165, 14340), (7166, 14342), (7167, 14344), (7168, 14346), (7169, 14348), (7170, 14350), (7171, 14352), (7172, 14354), (7173, 14356), (7174, 14358), (7175, 14360), (7176, 14362), (7177, 14364), (7178, 14366), (7179, 14368), (7180, 14370), (7181, 14372), (7182, 14374), (7183, 14376), (7184, 14378), (7185, 14380), (7186, 14382), (7187, 14384), (7188, 14386), (7189, 14388), (7190, 14390), (7191, 14392), (7192, 14394), (7193, 14396), (7194, 14398), (7195, 14400), (7196, 14402), (7197, 14404), (7198, 14406), (7199, 14408), (7200, 14410), (7201, 14412), (7202, 14414), (7203, 14416), (7204, 14418), (7205, 14420), (7206, 14422), (7207, 14424), (7208, 14426), (7209, 14428), (7210, 14430), (7211, 14432), (7212, 14434), (7213, 14436), (7214, 14438), (7215, 14440), (7216, 14442), (7217, 14444), (7218, 14446), (7219, 14448), (7220, 14450), (7221, 14452), (7222, 14454), (7223, 14456), (7224, 14458), (7225, 14460), (7226, 14462), (7227, 14464), (7228, 14466), (7229, 14468), (7230, 14470), (7231, 14472), (7232, 14474), (7233, 14476), (7234, 14478), (7235, 14480), (7236, 14482), (7237, 14484), (7238, 14486), (7239, 14488), (7240, 14490), (7241, 14492), (7242, 14494), (7243, 14496), (7244, 14498), (7245, 14500), (7246, 14502), (7247, 14504), (7248, 14506), (7249, 14508), (7250, 14510), (7251, 14512), (7252, 14514), (7253, 14516), (7254, 14518), (7255, 14520), (7256, 14522), (7257, 14524), (7258, 14526), (7259, 14528), (7260, 14530), (7261, 14532), (7262, 14534), (7263, 14536), (7264, 14538), (7265, 14540), (7266, 14542), (7267, 14544), (7268, 14546), (7269, 14548), (7270, 14550), (7271, 14552), (7272, 14554), (7273, 14556), (7274, 14558), (7275, 14560), (7276, 14562), (7277, 14564), (7278, 14566), (7279, 14568), (7280, 14570), (7281, 14572), (7282, 14574), (7283, 14576), (7284, 14578), (7285, 14580), (7286, 14582), (7287, 14584), (7288, 14586), (7289, 14588), (7290, 14590), (7291, 14592), (7292, 14594), (7293, 14596), (7294, 14598), (7295, 14600), (7296, 14602), (7297, 14604), (7298, 14606), (7299, 14608), (7300, 14610), (7301, 14612), (7302, 14614), (7303, 14616), (7304, 14618), (7305, 14620), (7306, 14622), (7307, 14624), (7308, 14626), (7309, 14628), (7310, 14630), (7311, 14632), (7312, 14634), (7313, 14636), (7314, 14638), (7315, 14640), (7316, 14642), (7317, 14644), (7318, 14646), (7319, 14648), (7320, 14650), (7321, 14652), (7322, 14654), (7323, 14656), (7324, 14658), (7325, 14660), (7326, 14662), (7327, 14664), (7328, 14666), (7329, 14668), (7330, 14670), (7331, 14672), (7332, 14674), (7333, 14676), (7334, 14678), (7335, 14680), (7336, 14682), (7337, 14684), (7338, 14686), (7339, 14688), (7340, 14690), (7341, 14692), (7342, 14694), (7343, 14696), (7344, 14698), (7345, 14700), (7346, 14702), (7347, 14704), (7348, 14706), (7349, 14708), (7350, 14710), (7351, 14712), (7352, 14714), (7353, 14716), (7354, 14718), (7355, 14720), (7356, 14722), (7357, 14724), (7358, 14726), (7359, 14728), (7360, 14730), (7361, 14732), (7362, 14734), (7363, 14736), (7364, 14738), (7365, 14740), (7366, 14742), (7367, 14744), (7368, 14746), (7369, 14748), (7370, 14750), (7371, 14752), (7372, 14754), (7373, 14756), (7374, 14758), (7375, 14760), (7376, 14762), (7377, 14764), (7378, 14766), (7379, 14768), (7380, 14770), (7381, 14772), (7382, 14774), (7383, 14776), (7384, 14778), (7385, 14780), (7386, 14782), (7387, 14784), (7388, 14786), (7389, 14788), (7390, 14790), (7391, 14792), (7392, 14794), (7393, 14796), (7394, 14798), (7395, 14800), (7396, 14802), (7397, 14804), (7398, 14806), (7399, 14808), (7400, 14810), (7401, 14812), (7402, 14814), (7403, 14816), (7404, 14818), (7405, 14820), (7406, 14822), (7407, 14824), (7408, 14826), (7409, 14828), (7410, 14830), (7411, 14832), (7412, 14834), (7413, 14836), (7414, 14838), (7415, 14840), (7416, 14842), (7417, 14844), (7418, 14846), (7419, 14848), (7420, 14850), (7421, 14852), (7422, 14854), (7423, 14856), (7424, 14858), (7425, 14860), (7426, 14862), (7427, 14864), (7428, 14866), (7429, 14868), (7430, 14870), (7431, 14872), (7432, 14874), (7433, 14876), (7434, 14878), (7435, 14880), (7436, 14882), (7437, 14884), (7438, 14886), (7439, 14888), (7440, 14890), (7441, 14892), (7442, 14894), (7443, 14896), (7444, 14898), (7445, 14900), (7446, 14902), (7447, 14904), (7448, 14906), (7449, 14908), (7450, 14910), (7451, 14912), (7452, 14914), (7453, 14916), (7454, 14918), (7455, 14920), (7456, 14922), (7457, 14924), (7458, 14926), (7459, 14928), (7460, 14930), (7461, 14932), (7462, 14934), (7463, 14936), (7464, 14938), (7465, 14940), (7466, 14942), (7467, 14944), (7468, 14946), (7469, 14948), (7470, 14950), (7471, 14952), (7472, 14954), (7473, 14956), (7474, 14958), (7475, 14960), (7476, 14962), (7477, 14964), (7478, 14966), (7479, 14968), (7480, 14970), (7481, 14972), (7482, 14974), (7483, 14976), (7484, 14978), (7485, 14980), (7486, 14982), (7487, 14984), (7488, 14986), (7489, 14988), (7490, 14990), (7491, 14992), (7492, 14994), (7493, 14996), (7494, 14998), (7495, 15000), (7496, 15002), (7497, 15004), (7498, 15006), (7499, 15008), (7500, 15010), (7501, 15012), (7502, 15014), (7503, 15016), (7504, 15018), (7505, 15020), (7506, 15022), (7507, 15024), (7508, 15026), (7509, 15028), (7510, 15030), (7511, 15032), (7512, 15034), (7513, 15036), (7514, 15038), (7515, 15040), (7516, 15042), (7517, 15044), (7518, 15046), (7519, 15048), (7520, 15050), (7521, 15052), (7522, 15054), (7523, 15056), (7524, 15058), (7525, 15060), (7526, 15062), (7527, 15064), (7528, 15066), (7529, 15068), (7530, 15070), (7531, 15072), (7532, 15074), (7533, 15076), (7534, 15078), (7535, 15080), (7536, 15082), (7537, 15084), (7538, 15086), (7539, 15088), (7540, 15090), (7541, 15092), (7542, 15094), (7543, 15096), (7544, 15098), (7545, 15100), (7546, 15102), (7547, 15104), (7548, 15106), (7549, 15108), (7550, 15110), (7551, 15112), (7552, 15114), (7553, 15116), (7554, 15118), (7555, 15120), (7556, 15122), (7557, 15124), (7558, 15126), (7559, 15128), (7560, 15130), (7561, 15132), (7562, 15134), (7563, 15136), (7564, 15138), (7565, 15140), (7566, 15142), (7567, 15144), (7568, 15146), (7569, 15148), (7570, 15150), (7571, 15152), (7572, 15154), (7573, 15156), (7574, 15158), (7575, 15160), (7576, 15162), (7577, 15164), (7578, 15166), (7579, 15168), (7580, 15170), (7581, 15172), (7582, 15174), (7583, 15176), (7584, 15178), (7585, 15180), (7586, 15182), (7587, 15184), (7588, 15186), (7589, 15188), (7590, 15190), (7591, 15192), (7592, 15194), (7593, 15196), (7594, 15198), (7595, 15200), (7596, 15202), (7597, 15204), (7598, 15206), (7599, 15208), (7600, 15210), (7601, 15212), (7602, 15214), (7603, 15216), (7604, 15218), (7605, 15220), (7606, 15222), (7607, 15224), (7608, 15226), (7609, 15228), (7610, 15230), (7611, 15232), (7612, 15234), (7613, 15236), (7614, 15238), (7615, 15240), (7616, 15242), (7617, 15244), (7618, 15246), (7619, 15248), (7620, 15250), (7621, 15252), (7622, 15254), (7623, 15256), (7624, 15258), (7625, 15260), (7626, 15262), (7627, 15264), (7628, 15266), (7629, 15268), (7630, 15270), (7631, 15272), (7632, 15274), (7633, 15276), (7634, 15278), (7635, 15280), (7636, 15282), (7637, 15284), (7638, 15286), (7639, 15288), (7640, 15290), (7641, 15292), (7642, 15294), (7643, 15296), (7644, 15298), (7645, 15300), (7646, 15302), (7647, 15304), (7648, 15306), (7649, 15308), (7650, 15310), (7651, 15312), (7652, 15314), (7653, 15316), (7654, 15318), (7655, 15320), (7656, 15322), (7657, 15324), (7658, 15326), (7659, 15328), (7660, 15330), (7661, 15332), (7662, 15334), (7663, 15336), (7664, 15338), (7665, 15340), (7666, 15342), (7667, 15344), (7668, 15346), (7669, 15348), (7670, 15350), (7671, 15352), (7672, 15354), (7673, 15356), (7674, 15358), (7675, 15360), (7676, 15362), (7677, 15364), (7678, 15366), (7679, 15368), (7680, 15370), (7681, 15372), (7682, 15374), (7683, 15376), (7684, 15378), (7685, 15380), (7686, 15382), (7687, 15384), (7688, 15386), (7689, 15388), (7690, 15390), (7691, 15392), (7692, 15394), (7693, 15396), (7694, 15398), (7695, 15400), (7696, 15402), (7697, 15404), (7698, 15406), (7699, 15408), (7700, 15410), (7701, 15412), (7702, 15414), (7703, 15416), (7704, 15418), (7705, 15420), (7706, 15422), (7707, 15424), (7708, 15426), (7709, 15428), (7710, 15430), (7711, 15432), (7712, 15434), (7713, 15436), (7714, 15438), (7715, 15440), (7716, 15442), (7717, 15444), (7718, 15446), (7719, 15448), (7720, 15450), (7721, 15452), (7722, 15454), (7723, 15456), (7724, 15458), (7725, 15460), (7726, 15462), (7727, 15464), (7728, 15466), (7729, 15468), (7730, 15470), (7731, 15472), (7732, 15474), (7733, 15476), (7734, 15478), (7735, 15480), (7736, 15482), (7737, 15484), (7738, 15486), (7739, 15488), (7740, 15490), (7741, 15492), (7742, 15494), (7743, 15496), (7744, 15498), (7745, 15500), (7746, 15502), (7747, 15504), (7748, 15506), (7749, 15508), (7750, 15510), (7751, 15512), (7752, 15514), (7753, 15516), (7754, 15518), (7755, 15520), (7756, 15522), (7757, 15524), (7758, 15526), (7759, 15528), (7760, 15530), (7761, 15532), (7762, 15534), (7763, 15536), (7764, 15538), (7765, 15540), (7766, 15542), (7767, 15544), (7768, 15546), (7769, 15548), (7770, 15550), (7771, 15552), (7772, 15554), (7773, 15556), (7774, 15558), (7775, 15560), (7776, 15562), (7777, 15564), (7778, 15566), (7779, 15568), (7780, 15570), (7781, 15572), (7782, 15574), (7783, 15576), (7784, 15578), (7785, 15580), (7786, 15582), (7787, 15584), (7788, 15586), (7789, 15588), (7790, 15590), (7791, 15592), (7792, 15594), (7793, 15596), (7794, 15598), (7795, 15600), (7796, 15602), (7797, 15604), (7798, 15606), (7799, 15608), (7800, 15610), (7801, 15612), (7802, 15614), (7803, 15616), (7804, 15618), (7805, 15620), (7806, 15622), (7807, 15624), (7808, 15626), (7809, 15628), (7810, 15630), (7811, 15632), (7812, 15634), (7813, 15636), (7814, 15638), (7815, 15640), (7816, 15642), (7817, 15644), (7818, 15646), (7819, 15648), (7820, 15650), (7821, 15652), (7822, 15654), (7823, 15656), (7824, 15658), (7825, 15660), (7826, 15662), (7827, 15664), (7828, 15666), (7829, 15668), (7830, 15670), (7831, 15672), (7832, 15674), (7833, 15676), (7834, 15678), (7835, 15680), (7836, 15682), (7837, 15684), (7838, 15686), (7839, 15688), (7840, 15690), (7841, 15692), (7842, 15694), (7843, 15696), (7844, 15698), (7845, 15700), (7846, 15702), (7847, 15704), (7848, 15706), (7849, 15708), (7850, 15710), (7851, 15712), (7852, 15714), (7853, 15716), (7854, 15718), (7855, 15720), (7856, 15722), (7857, 15724), (7858, 15726), (7859, 15728), (7860, 15730), (7861, 15732), (7862, 15734), (7863, 15736), (7864, 15738), (7865, 15740), (7866, 15742), (7867, 15744), (7868, 15746), (7869, 15748), (7870, 15750), (7871, 15752), (7872, 15754), (7873, 15756), (7874, 15758), (7875, 15760), (7876, 15762), (7877, 15764), (7878, 15766), (7879, 15768), (7880, 15770), (7881, 15772), (7882, 15774), (7883, 15776), (7884, 15778), (7885, 15780), (7886, 15782), (7887, 15784), (7888, 15786), (7889, 15788), (7890, 15790), (7891, 15792), (7892, 15794), (7893, 15796), (7894, 15798), (7895, 15800), (7896, 15802), (7897, 15804), (7898, 15806), (7899, 15808), (7900, 15810), (7901, 15812), (7902, 15814), (7903, 15816), (7904, 15818), (7905, 15820), (7906, 15822), (7907, 15824), (7908, 15826), (7909, 15828), (7910, 15830), (7911, 15832), (7912, 15834), (7913, 15836), (7914, 15838), (7915, 15840), (7916, 15842), (7917, 15844), (7918, 15846), (7919, 15848), (7920, 15850), (7921, 15852), (7922, 15854), (7923, 15856), (7924, 15858), (7925, 15860), (7926, 15862), (7927, 15864), (7928, 15866), (7929, 15868), (7930, 15870), (7931, 15872), (7932, 15874), (7933, 15876), (7934, 15878), (7935, 15880), (7936, 15882), (7937, 15884), (7938, 15886), (7939, 15888), (7940, 15890), (7941, 15892), (7942, 15894), (7943, 15896), (7944, 15898), (7945, 15900), (7946, 15902), (7947, 15904), (7948, 15906), (7949, 15908), (7950, 15910), (7951, 15912), (7952, 15914), (7953, 15916), (7954, 15918), (7955, 15920), (7956, 15922), (7957, 15924), (7958, 15926), (7959, 15928), (7960, 15930), (7961, 15932), (7962, 15934), (7963, 15936), (7964, 15938), (7965, 15940), (7966, 15942), (7967, 15944), (7968, 15946), (7969, 15948), (7970, 15950), (7971, 15952), (7972, 15954), (7973, 15956), (7974, 15958), (7975, 15960), (7976, 15962), (7977, 15964), (7978, 15966), (7979, 15968), (7980, 15970), (7981, 15972), (7982, 15974), (7983, 15976), (7984, 15978), (7985, 15980), (7986, 15982), (7987, 15984), (7988, 15986), (7989, 15988), (7990, 15990), (7991, 15992), (7992, 15994), (7993, 15996), (7994, 15998), (7995, 16000), (7996, 16002), (7997, 16004), (7998, 16006), (7999, 16008), (8000, 16010), (8001, 16012), (8002, 16014), (8003, 16016), (8004, 16018), (8005, 16020), (8006, 16022), (8007, 16024), (8008, 16026), (8009, 16028), (8010, 16030), (8011, 16032), (8012, 16034), (8013, 16036), (8014, 16038), (8015, 16040), (8016, 16042), (8017, 16044), (8018, 16046), (8019, 16048), (8020, 16050), (8021, 16052), (8022, 16054), (8023, 16056), (8024, 16058), (8025, 16060), (8026, 16062), (8027, 16064), (8028, 16066), (8029, 16068), (8030, 16070), (8031, 16072), (8032, 16074), (8033, 16076), (8034, 16078), (8035, 16080), (8036, 16082), (8037, 16084), (8038, 16086), (8039, 16088), (8040, 16090), (8041, 16092), (8042, 16094), (8043, 16096), (8044, 16098), (8045, 16100), (8046, 16102), (8047, 16104), (8048, 16106), (8049, 16108), (8050, 16110), (8051, 16112), (8052, 16114), (8053, 16116), (8054, 16118), (8055, 16120), (8056, 16122), (8057, 16124), (8058, 16126), (8059, 16128), (8060, 16130), (8061, 16132), (8062, 16134), (8063, 16136), (8064, 16138), (8065, 16140), (8066, 16142), (8067, 16144), (8068, 16146), (8069, 16148), (8070, 16150), (8071, 16152), (8072, 16154), (8073, 16156), (8074, 16158), (8075, 16160), (8076, 16162), (8077, 16164), (8078, 16166), (8079, 16168), (8080, 16170), (8081, 16172), (8082, 16174), (8083, 16176), (8084, 16178), (8085, 16180), (8086, 16182), (8087, 16184), (8088, 16186), (8089, 16188), (8090, 16190), (8091, 16192), (8092, 16194), (8093, 16196), (8094, 16198), (8095, 16200), (8096, 16202), (8097, 16204), (8098, 16206), (8099, 16208), (8100, 16210), (8101, 16212), (8102, 16214), (8103, 16216), (8104, 16218), (8105, 16220), (8106, 16222), (8107, 16224), (8108, 16226), (8109, 16228), (8110, 16230), (8111, 16232), (8112, 16234), (8113, 16236), (8114, 16238), (8115, 16240), (8116, 16242), (8117, 16244), (8118, 16246), (8119, 16248), (8120, 16250), (8121, 16252), (8122, 16254), (8123, 16256), (8124, 16258), (8125, 16260), (8126, 16262), (8127, 16264), (8128, 16266), (8129, 16268), (8130, 16270), (8131, 16272), (8132, 16274), (8133, 16276), (8134, 16278), (8135, 16280), (8136, 16282), (8137, 16284), (8138, 16286), (8139, 16288), (8140, 16290), (8141, 16292), (8142, 16294), (8143, 16296), (8144, 16298), (8145, 16300), (8146, 16302), (8147, 16304), (8148, 16306), (8149, 16308), (8150, 16310), (8151, 16312), (8152, 16314), (8153, 16316), (8154, 16318), (8155, 16320), (8156, 16322), (8157, 16324), (8158, 16326), (8159, 16328), (8160, 16330), (8161, 16332), (8162, 16334), (8163, 16336), (8164, 16338), (8165, 16340), (8166, 16342), (8167, 16344), (8168, 16346), (8169, 16348), (8170, 16350), (8171, 16352), (8172, 16354), (8173, 16356), (8174, 16358), (8175, 16360), (8176, 16362), (8177, 16364), (8178, 16366), (8179, 16368), (8180, 16370), (8181, 16372), (8182, 16374), (8183, 16376), (8184, 16378), (8185, 16380), (8186, 16382), (8187, 16384), (8188, 16386), (8189, 16388), (8190, 16390), (8191, 16392), (8192, 16394), (8193, 16396), (8194, 16398), (8195, 16400), (8196, 16402), (8197, 16404), (8198, 16406), (8199, 16408), (8200, 16410), (8201, 16412), (8202, 16414), (8203, 16416), (8204, 16418), (8205, 16420), (8206, 16422), (8207, 16424), (8208, 16426), (8209, 16428), (8210, 16430), (8211, 16432), (8212, 16434), (8213, 16436), (8214, 16438), (8215, 16440), (8216, 16442), (8217, 16444), (8218, 16446), (8219, 16448), (8220, 16450), (8221, 16452), (8222, 16454), (8223, 16456), (8224, 16458), (8225, 16460), (8226, 16462), (8227, 16464), (8228, 16466), (8229, 16468), (8230, 16470), (8231, 16472), (8232, 16474), (8233, 16476), (8234, 16478), (8235, 16480), (8236, 16482), (8237, 16484), (8238, 16486), (8239, 16488), (8240, 16490), (8241, 16492), (8242, 16494), (8243, 16496), (8244, 16498), (8245, 16500), (8246, 16502), (8247, 16504), (8248, 16506), (8249, 16508), (8250, 16510), (8251, 16512), (8252, 16514), (8253, 16516), (8254, 16518), (8255, 16520), (8256, 16522), (8257, 16524), (8258, 16526), (8259, 16528), (8260, 16530), (8261, 16532), (8262, 16534), (8263, 16536), (8264, 16538), (8265, 16540), (8266, 16542), (8267, 16544), (8268, 16546), (8269, 16548), (8270, 16550), (8271, 16552), (8272, 16554), (8273, 16556), (8274, 16558), (8275, 16560), (8276, 16562), (8277, 16564), (8278, 16566), (8279, 16568), (8280, 16570), (8281, 16572), (8282, 16574), (8283, 16576), (8284, 16578), (8285, 16580), (8286, 16582), (8287, 16584), (8288, 16586), (8289, 16588), (8290, 16590), (8291, 16592), (8292, 16594), (8293, 16596), (8294, 16598), (8295, 16600), (8296, 16602), (8297, 16604), (8298, 16606), (8299, 16608), (8300, 16610), (8301, 16612), (8302, 16614), (8303, 16616), (8304, 16618), (8305, 16620), (8306, 16622), (8307, 16624), (8308, 16626), (8309, 16628), (8310, 16630), (8311, 16632), (8312, 16634), (8313, 16636), (8314, 16638), (8315, 16640), (8316, 16642), (8317, 16644), (8318, 16646), (8319, 16648), (8320, 16650), (8321, 16652), (8322, 16654), (8323, 16656), (8324, 16658), (8325, 16660), (8326, 16662), (8327, 16664), (8328, 16666), (8329, 16668), (8330, 16670), (8331, 16672), (8332, 16674), (8333, 16676), (8334, 16678), (8335, 16680), (8336, 16682), (8337, 16684), (8338, 16686), (8339, 16688), (8340, 16690), (8341, 16692), (8342, 16694), (8343, 16696), (8344, 16698), (8345, 16700), (8346, 16702), (8347, 16704), (8348, 16706), (8349, 16708), (8350, 16710), (8351, 16712), (8352, 16714), (8353, 16716), (8354, 16718), (8355, 16720), (8356, 16722), (8357, 16724), (8358, 16726), (8359, 16728), (8360, 16730), (8361, 16732), (8362, 16734), (8363, 16736), (8364, 16738), (8365, 16740), (8366, 16742), (8367, 16744), (8368, 16746), (8369, 16748), (8370, 16750), (8371, 16752), (8372, 16754), (8373, 16756), (8374, 16758), (8375, 16760), (8376, 16762), (8377, 16764), (8378, 16766), (8379, 16768), (8380, 16770), (8381, 16772), (8382, 16774), (8383, 16776), (8384, 16778), (8385, 16780), (8386, 16782), (8387, 16784), (8388, 16786), (8389, 16788), (8390, 16790), (8391, 16792), (8392, 16794), (8393, 16796), (8394, 16798), (8395, 16800), (8396, 16802), (8397, 16804), (8398, 16806), (8399, 16808), (8400, 16810), (8401, 16812), (8402, 16814), (8403, 16816), (8404, 16818), (8405, 16820), (8406, 16822), (8407, 16824), (8408, 16826), (8409, 16828), (8410, 16830), (8411, 16832), (8412, 16834), (8413, 16836), (8414, 16838), (8415, 16840), (8416, 16842), (8417, 16844), (8418, 16846), (8419, 16848), (8420, 16850), (8421, 16852), (8422, 16854), (8423, 16856), (8424, 16858), (8425, 16860), (8426, 16862), (8427, 16864), (8428, 16866), (8429, 16868), (8430, 16870), (8431, 16872), (8432, 16874), (8433, 16876), (8434, 16878), (8435, 16880), (8436, 16882), (8437, 16884), (8438, 16886), (8439, 16888), (8440, 16890), (8441, 16892), (8442, 16894), (8443, 16896), (8444, 16898), (8445, 16900), (8446, 16902), (8447, 16904), (8448, 16906), (8449, 16908), (8450, 16910), (8451, 16912), (8452, 16914), (8453, 16916), (8454, 16918), (8455, 16920), (8456, 16922), (8457, 16924), (8458, 16926), (8459, 16928), (8460, 16930), (8461, 16932), (8462, 16934), (8463, 16936), (8464, 16938), (8465, 16940), (8466, 16942), (8467, 16944), (8468, 16946), (8469, 16948), (8470, 16950), (8471, 16952), (8472, 16954), (8473, 16956), (8474, 16958), (8475, 16960), (8476, 16962), (8477, 16964), (8478, 16966), (8479, 16968), (8480, 16970), (8481, 16972), (8482, 16974), (8483, 16976), (8484, 16978), (8485, 16980), (8486, 16982), (8487, 16984), (8488, 16986), (8489, 16988), (8490, 16990), (8491, 16992), (8492, 16994), (8493, 16996), (8494, 16998), (8495, 17000), (8496, 17002), (8497, 17004), (8498, 17006), (8499, 17008), (8500, 17010), (8501, 17012), (8502, 17014), (8503, 17016), (8504, 17018), (8505, 17020), (8506, 17022), (8507, 17024), (8508, 17026), (8509, 17028), (8510, 17030), (8511, 17032), (8512, 17034), (8513, 17036), (8514, 17038), (8515, 17040), (8516, 17042), (8517, 17044), (8518, 17046), (8519, 17048), (8520, 17050), (8521, 17052), (8522, 17054), (8523, 17056), (8524, 17058), (8525, 17060), (8526, 17062), (8527, 17064), (8528, 17066), (8529, 17068), (8530, 17070), (8531, 17072), (8532, 17074), (8533, 17076), (8534, 17078), (8535, 17080), (8536, 17082), (8537, 17084), (8538, 17086), (8539, 17088), (8540, 17090), (8541, 17092), (8542, 17094), (8543, 17096), (8544, 17098), (8545, 17100), (8546, 17102), (8547, 17104), (8548, 17106), (8549, 17108), (8550, 17110), (8551, 17112), (8552, 17114), (8553, 17116), (8554, 17118), (8555, 17120), (8556, 17122), (8557, 17124), (8558, 17126), (8559, 17128), (8560, 17130), (8561, 17132), (8562, 17134), (8563, 17136), (8564, 17138), (8565, 17140), (8566, 17142), (8567, 17144), (8568, 17146), (8569, 17148), (8570, 17150), (8571, 17152), (8572, 17154), (8573, 17156), (8574, 17158), (8575, 17160), (8576, 17162), (8577, 17164), (8578, 17166), (8579, 17168), (8580, 17170), (8581, 17172), (8582, 17174), (8583, 17176), (8584, 17178), (8585, 17180), (8586, 17182), (8587, 17184), (8588, 17186), (8589, 17188), (8590, 17190), (8591, 17192), (8592, 17194), (8593, 17196), (8594, 17198), (8595, 17200), (8596, 17202), (8597, 17204), (8598, 17206), (8599, 17208), (8600, 17210), (8601, 17212), (8602, 17214), (8603, 17216), (8604, 17218), (8605, 17220), (8606, 17222), (8607, 17224), (8608, 17226), (8609, 17228), (8610, 17230), (8611, 17232), (8612, 17234), (8613, 17236), (8614, 17238), (8615, 17240), (8616, 17242), (8617, 17244), (8618, 17246), (8619, 17248), (8620, 17250), (8621, 17252), (8622, 17254), (8623, 17256), (8624, 17258), (8625, 17260), (8626, 17262), (8627, 17264), (8628, 17266), (8629, 17268), (8630, 17270), (8631, 17272), (8632, 17274), (8633, 17276), (8634, 17278), (8635, 17280), (8636, 17282), (8637, 17284), (8638, 17286), (8639, 17288), (8640, 17290), (8641, 17292), (8642, 17294), (8643, 17296), (8644, 17298), (8645, 17300), (8646, 17302), (8647, 17304), (8648, 17306), (8649, 17308), (8650, 17310), (8651, 17312), (8652, 17314), (8653, 17316), (8654, 17318), (8655, 17320), (8656, 17322), (8657, 17324), (8658, 17326), (8659, 17328), (8660, 17330), (8661, 17332), (8662, 17334), (8663, 17336), (8664, 17338), (8665, 17340), (8666, 17342), (8667, 17344), (8668, 17346), (8669, 17348), (8670, 17350), (8671, 17352), (8672, 17354), (8673, 17356), (8674, 17358), (8675, 17360), (8676, 17362), (8677, 17364), (8678, 17366), (8679, 17368), (8680, 17370), (8681, 17372), (8682, 17374), (8683, 17376), (8684, 17378), (8685, 17380), (8686, 17382), (8687, 17384), (8688, 17386), (8689, 17388), (8690, 17390), (8691, 17392), (8692, 17394), (8693, 17396), (8694, 17398), (8695, 17400), (8696, 17402), (8697, 17404), (8698, 17406), (8699, 17408), (8700, 17410), (8701, 17412), (8702, 17414), (8703, 17416), (8704, 17418), (8705, 17420), (8706, 17422), (8707, 17424), (8708, 17426), (8709, 17428), (8710, 17430), (8711, 17432), (8712, 17434), (8713, 17436), (8714, 17438), (8715, 17440), (8716, 17442), (8717, 17444), (8718, 17446), (8719, 17448), (8720, 17450), (8721, 17452), (8722, 17454), (8723, 17456), (8724, 17458), (8725, 17460), (8726, 17462), (8727, 17464), (8728, 17466), (8729, 17468), (8730, 17470), (8731, 17472), (8732, 17474), (8733, 17476), (8734, 17478), (8735, 17480), (8736, 17482), (8737, 17484), (8738, 17486), (8739, 17488), (8740, 17490), (8741, 17492), (8742, 17494), (8743, 17496), (8744, 17498), (8745, 17500), (8746, 17502), (8747, 17504), (8748, 17506), (8749, 17508), (8750, 17510), (8751, 17512), (8752, 17514), (8753, 17516), (8754, 17518), (8755, 17520), (8756, 17522), (8757, 17524), (8758, 17526), (8759, 17528), (8760, 17530), (8761, 17532), (8762, 17534), (8763, 17536), (8764, 17538), (8765, 17540), (8766, 17542), (8767, 17544), (8768, 17546), (8769, 17548), (8770, 17550), (8771, 17552), (8772, 17554), (8773, 17556), (8774, 17558), (8775, 17560), (8776, 17562), (8777, 17564), (8778, 17566), (8779, 17568), (8780, 17570), (8781, 17572), (8782, 17574), (8783, 17576), (8784, 17578), (8785, 17580), (8786, 17582), (8787, 17584), (8788, 17586), (8789, 17588), (8790, 17590), (8791, 17592), (8792, 17594), (8793, 17596), (8794, 17598), (8795, 17600), (8796, 17602), (8797, 17604), (8798, 17606), (8799, 17608), (8800, 17610), (8801, 17612), (8802, 17614), (8803, 17616), (8804, 17618), (8805, 17620), (8806, 17622), (8807, 17624), (8808, 17626), (8809, 17628), (8810, 17630), (8811, 17632), (8812, 17634), (8813, 17636), (8814, 17638), (8815, 17640), (8816, 17642), (8817, 17644), (8818, 17646), (8819, 17648), (8820, 17650), (8821, 17652), (8822, 17654), (8823, 17656), (8824, 17658), (8825, 17660), (8826, 17662), (8827, 17664), (8828, 17666), (8829, 17668), (8830, 17670), (8831, 17672), (8832, 17674), (8833, 17676), (8834, 17678), (8835, 17680), (8836, 17682), (8837, 17684), (8838, 17686), (8839, 17688), (8840, 17690), (8841, 17692), (8842, 17694), (8843, 17696), (8844, 17698), (8845, 17700), (8846, 17702), (8847, 17704), (8848, 17706), (8849, 17708), (8850, 17710), (8851, 17712), (8852, 17714), (8853, 17716), (8854, 17718), (8855, 17720), (8856, 17722), (8857, 17724), (8858, 17726), (8859, 17728), (8860, 17730), (8861, 17732), (8862, 17734), (8863, 17736), (8864, 17738), (8865, 17740), (8866, 17742), (8867, 17744), (8868, 17746), (8869, 17748), (8870, 17750), (8871, 17752), (8872, 17754), (8873, 17756), (8874, 17758), (8875, 17760), (8876, 17762), (8877, 17764), (8878, 17766), (8879, 17768), (8880, 17770), (8881, 17772), (8882, 17774), (8883, 17776), (8884, 17778), (8885, 17780), (8886, 17782), (8887, 17784), (8888, 17786), (8889, 17788), (8890, 17790), (8891, 17792), (8892, 17794), (8893, 17796), (8894, 17798), (8895, 17800), (8896, 17802), (8897, 17804), (8898, 17806), (8899, 17808), (8900, 17810), (8901, 17812), (8902, 17814), (8903, 17816), (8904, 17818), (8905, 17820), (8906, 17822), (8907, 17824), (8908, 17826), (8909, 17828), (8910, 17830), (8911, 17832), (8912, 17834), (8913, 17836), (8914, 17838), (8915, 17840), (8916, 17842), (8917, 17844), (8918, 17846), (8919, 17848), (8920, 17850), (8921, 17852), (8922, 17854), (8923, 17856), (8924, 17858), (8925, 17860), (8926, 17862), (8927, 17864), (8928, 17866), (8929, 17868), (8930, 17870), (8931, 17872), (8932, 17874), (8933, 17876), (8934, 17878), (8935, 17880), (8936, 17882), (8937, 17884), (8938, 17886), (8939, 17888), (8940, 17890), (8941, 17892), (8942, 17894), (8943, 17896), (8944, 17898), (8945, 17900), (8946, 17902), (8947, 17904), (8948, 17906), (8949, 17908), (8950, 17910), (8951, 17912), (8952, 17914), (8953, 17916), (8954, 17918), (8955, 17920), (8956, 17922), (8957, 17924), (8958, 17926), (8959, 17928), (8960, 17930), (8961, 17932), (8962, 17934), (8963, 17936), (8964, 17938), (8965, 17940), (8966, 17942), (8967, 17944), (8968, 17946), (8969, 17948), (8970, 17950), (8971, 17952), (8972, 17954), (8973, 17956), (8974, 17958), (8975, 17960), (8976, 17962), (8977, 17964), (8978, 17966), (8979, 17968), (8980, 17970), (8981, 17972), (8982, 17974), (8983, 17976), (8984, 17978), (8985, 17980), (8986, 17982), (8987, 17984), (8988, 17986), (8989, 17988), (8990, 17990), (8991, 17992), (8992, 17994), (8993, 17996), (8994, 17998), (8995, 18000), (8996, 18002), (8997, 18004), (8998, 18006), (8999, 18008), (9000, 18010), (9001, 18012), (9002, 18014), (9003, 18016), (9004, 18018), (9005, 18020), (9006, 18022), (9007, 18024), (9008, 18026), (9009, 18028), (9010, 18030), (9011, 18032), (9012, 18034), (9013, 18036), (9014, 18038), (9015, 18040), (9016, 18042), (9017, 18044), (9018, 18046), (9019, 18048), (9020, 18050), (9021, 18052), (9022, 18054), (9023, 18056), (9024, 18058), (9025, 18060), (9026, 18062), (9027, 18064), (9028, 18066), (9029, 18068), (9030, 18070), (9031, 18072), (9032, 18074), (9033, 18076), (9034, 18078), (9035, 18080), (9036, 18082), (9037, 18084), (9038, 18086), (9039, 18088), (9040, 18090), (9041, 18092), (9042, 18094), (9043, 18096), (9044, 18098), (9045, 18100), (9046, 18102), (9047, 18104), (9048, 18106), (9049, 18108), (9050, 18110), (9051, 18112), (9052, 18114), (9053, 18116), (9054, 18118), (9055, 18120), (9056, 18122), (9057, 18124), (9058, 18126), (9059, 18128), (9060, 18130), (9061, 18132), (9062, 18134), (9063, 18136), (9064, 18138), (9065, 18140), (9066, 18142), (9067, 18144), (9068, 18146), (9069, 18148), (9070, 18150), (9071, 18152), (9072, 18154), (9073, 18156), (9074, 18158), (9075, 18160), (9076, 18162), (9077, 18164), (9078, 18166), (9079, 18168), (9080, 18170), (9081, 18172), (9082, 18174), (9083, 18176), (9084, 18178), (9085, 18180), (9086, 18182), (9087, 18184), (9088, 18186), (9089, 18188), (9090, 18190), (9091, 18192), (9092, 18194), (9093, 18196), (9094, 18198), (9095, 18200), (9096, 18202), (9097, 18204), (9098, 18206), (9099, 18208), (9100, 18210), (9101, 18212), (9102, 18214), (9103, 18216), (9104, 18218), (9105, 18220), (9106, 18222), (9107, 18224), (9108, 18226), (9109, 18228), (9110, 18230), (9111, 18232), (9112, 18234), (9113, 18236), (9114, 18238), (9115, 18240), (9116, 18242), (9117, 18244), (9118, 18246), (9119, 18248), (9120, 18250), (9121, 18252), (9122, 18254), (9123, 18256), (9124, 18258), (9125, 18260), (9126, 18262), (9127, 18264), (9128, 18266), (9129, 18268), (9130, 18270), (9131, 18272), (9132, 18274), (9133, 18276), (9134, 18278), (9135, 18280), (9136, 18282), (9137, 18284), (9138, 18286), (9139, 18288), (9140, 18290), (9141, 18292), (9142, 18294), (9143, 18296), (9144, 18298), (9145, 18300), (9146, 18302), (9147, 18304), (9148, 18306), (9149, 18308), (9150, 18310), (9151, 18312), (9152, 18314), (9153, 18316), (9154, 18318), (9155, 18320), (9156, 18322), (9157, 18324), (9158, 18326), (9159, 18328), (9160, 18330), (9161, 18332), (9162, 18334), (9163, 18336), (9164, 18338), (9165, 18340), (9166, 18342), (9167, 18344), (9168, 18346), (9169, 18348), (9170, 18350), (9171, 18352), (9172, 18354), (9173, 18356), (9174, 18358), (9175, 18360), (9176, 18362), (9177, 18364), (9178, 18366), (9179, 18368), (9180, 18370), (9181, 18372), (9182, 18374), (9183, 18376), (9184, 18378), (9185, 18380), (9186, 18382), (9187, 18384), (9188, 18386), (9189, 18388), (9190, 18390), (9191, 18392), (9192, 18394), (9193, 18396), (9194, 18398), (9195, 18400), (9196, 18402), (9197, 18404), (9198, 18406), (9199, 18408), (9200, 18410), (9201, 18412), (9202, 18414), (9203, 18416), (9204, 18418), (9205, 18420), (9206, 18422), (9207, 18424), (9208, 18426), (9209, 18428), (9210, 18430), (9211, 18432), (9212, 18434), (9213, 18436), (9214, 18438), (9215, 18440), (9216, 18442), (9217, 18444), (9218, 18446), (9219, 18448), (9220, 18450), (9221, 18452), (9222, 18454), (9223, 18456), (9224, 18458), (9225, 18460), (9226, 18462), (9227, 18464), (9228, 18466), (9229, 18468), (9230, 18470), (9231, 18472), (9232, 18474), (9233, 18476), (9234, 18478), (9235, 18480), (9236, 18482), (9237, 18484), (9238, 18486), (9239, 18488), (9240, 18490), (9241, 18492), (9242, 18494), (9243, 18496), (9244, 18498), (9245, 18500), (9246, 18502), (9247, 18504), (9248, 18506), (9249, 18508), (9250, 18510), (9251, 18512), (9252, 18514), (9253, 18516), (9254, 18518), (9255, 18520), (9256, 18522), (9257, 18524), (9258, 18526), (9259, 18528), (9260, 18530), (9261, 18532), (9262, 18534), (9263, 18536), (9264, 18538), (9265, 18540), (9266, 18542), (9267, 18544), (9268, 18546), (9269, 18548), (9270, 18550), (9271, 18552), (9272, 18554), (9273, 18556), (9274, 18558), (9275, 18560), (9276, 18562), (9277, 18564), (9278, 18566), (9279, 18568), (9280, 18570), (9281, 18572), (9282, 18574), (9283, 18576), (9284, 18578), (9285, 18580), (9286, 18582), (9287, 18584), (9288, 18586), (9289, 18588), (9290, 18590), (9291, 18592), (9292, 18594), (9293, 18596), (9294, 18598), (9295, 18600), (9296, 18602), (9297, 18604), (9298, 18606), (9299, 18608), (9300, 18610), (9301, 18612), (9302, 18614), (9303, 18616), (9304, 18618), (9305, 18620), (9306, 18622), (9307, 18624), (9308, 18626), (9309, 18628), (9310, 18630), (9311, 18632), (9312, 18634), (9313, 18636), (9314, 18638), (9315, 18640), (9316, 18642), (9317, 18644), (9318, 18646), (9319, 18648), (9320, 18650), (9321, 18652), (9322, 18654), (9323, 18656), (9324, 18658), (9325, 18660), (9326, 18662), (9327, 18664), (9328, 18666), (9329, 18668), (9330, 18670), (9331, 18672), (9332, 18674), (9333, 18676), (9334, 18678), (9335, 18680), (9336, 18682), (9337, 18684), (9338, 18686), (9339, 18688), (9340, 18690), (9341, 18692), (9342, 18694), (9343, 18696), (9344, 18698), (9345, 18700), (9346, 18702), (9347, 18704), (9348, 18706), (9349, 18708), (9350, 18710), (9351, 18712), (9352, 18714), (9353, 18716), (9354, 18718), (9355, 18720), (9356, 18722), (9357, 18724), (9358, 18726), (9359, 18728), (9360, 18730), (9361, 18732), (9362, 18734), (9363, 18736), (9364, 18738), (9365, 18740), (9366, 18742), (9367, 18744), (9368, 18746), (9369, 18748), (9370, 18750), (9371, 18752), (9372, 18754), (9373, 18756), (9374, 18758), (9375, 18760), (9376, 18762), (9377, 18764), (9378, 18766), (9379, 18768), (9380, 18770), (9381, 18772), (9382, 18774), (9383, 18776), (9384, 18778), (9385, 18780), (9386, 18782), (9387, 18784), (9388, 18786), (9389, 18788), (9390, 18790), (9391, 18792), (9392, 18794), (9393, 18796), (9394, 18798), (9395, 18800), (9396, 18802), (9397, 18804), (9398, 18806), (9399, 18808), (9400, 18810), (9401, 18812), (9402, 18814), (9403, 18816), (9404, 18818), (9405, 18820), (9406, 18822), (9407, 18824), (9408, 18826), (9409, 18828), (9410, 18830), (9411, 18832), (9412, 18834), (9413, 18836), (9414, 18838), (9415, 18840), (9416, 18842), (9417, 18844), (9418, 18846), (9419, 18848), (9420, 18850), (9421, 18852), (9422, 18854), (9423, 18856), (9424, 18858), (9425, 18860), (9426, 18862), (9427, 18864), (9428, 18866), (9429, 18868), (9430, 18870), (9431, 18872), (9432, 18874), (9433, 18876), (9434, 18878), (9435, 18880), (9436, 18882), (9437, 18884), (9438, 18886), (9439, 18888), (9440, 18890), (9441, 18892), (9442, 18894), (9443, 18896), (9444, 18898), (9445, 18900), (9446, 18902), (9447, 18904), (9448, 18906), (9449, 18908), (9450, 18910), (9451, 18912), (9452, 18914), (9453, 18916), (9454, 18918), (9455, 18920), (9456, 18922), (9457, 18924), (9458, 18926), (9459, 18928), (9460, 18930), (9461, 18932), (9462, 18934), (9463, 18936), (9464, 18938), (9465, 18940), (9466, 18942), (9467, 18944), (9468, 18946), (9469, 18948), (9470, 18950), (9471, 18952), (9472, 18954), (9473, 18956), (9474, 18958), (9475, 18960), (9476, 18962), (9477, 18964), (9478, 18966), (9479, 18968), (9480, 18970), (9481, 18972), (9482, 18974), (9483, 18976), (9484, 18978), (9485, 18980), (9486, 18982), (9487, 18984), (9488, 18986), (9489, 18988), (9490, 18990), (9491, 18992), (9492, 18994), (9493, 18996), (9494, 18998), (9495, 19000), (9496, 19002), (9497, 19004), (9498, 19006), (9499, 19008), (9500, 19010), (9501, 19012), (9502, 19014), (9503, 19016), (9504, 19018), (9505, 19020), (9506, 19022), (9507, 19024), (9508, 19026), (9509, 19028), (9510, 19030), (9511, 19032), (9512, 19034), (9513, 19036), (9514, 19038), (9515, 19040), (9516, 19042), (9517, 19044), (9518, 19046), (9519, 19048), (9520, 19050), (9521, 19052), (9522, 19054), (9523, 19056), (9524, 19058), (9525, 19060), (9526, 19062), (9527, 19064), (9528, 19066), (9529, 19068), (9530, 19070), (9531, 19072), (9532, 19074), (9533, 19076), (9534, 19078), (9535, 19080), (9536, 19082), (9537, 19084), (9538, 19086), (9539, 19088), (9540, 19090), (9541, 19092), (9542, 19094), (9543, 19096), (9544, 19098), (9545, 19100), (9546, 19102), (9547, 19104), (9548, 19106), (9549, 19108), (9550, 19110), (9551, 19112), (9552, 19114), (9553, 19116), (9554, 19118), (9555, 19120), (9556, 19122), (9557, 19124), (9558, 19126), (9559, 19128), (9560, 19130), (9561, 19132), (9562, 19134), (9563, 19136), (9564, 19138), (9565, 19140), (9566, 19142), (9567, 19144), (9568, 19146), (9569, 19148), (9570, 19150), (9571, 19152), (9572, 19154), (9573, 19156), (9574, 19158), (9575, 19160), (9576, 19162), (9577, 19164), (9578, 19166), (9579, 19168), (9580, 19170), (9581, 19172), (9582, 19174), (9583, 19176), (9584, 19178), (9585, 19180), (9586, 19182), (9587, 19184), (9588, 19186), (9589, 19188), (9590, 19190), (9591, 19192), (9592, 19194), (9593, 19196), (9594, 19198), (9595, 19200), (9596, 19202), (9597, 19204), (9598, 19206), (9599, 19208), (9600, 19210), (9601, 19212), (9602, 19214), (9603, 19216), (9604, 19218), (9605, 19220), (9606, 19222), (9607, 19224), (9608, 19226), (9609, 19228), (9610, 19230), (9611, 19232), (9612, 19234), (9613, 19236), (9614, 19238), (9615, 19240), (9616, 19242), (9617, 19244), (9618, 19246), (9619, 19248), (9620, 19250), (9621, 19252), (9622, 19254), (9623, 19256), (9624, 19258), (9625, 19260), (9626, 19262), (9627, 19264), (9628, 19266), (9629, 19268), (9630, 19270), (9631, 19272), (9632, 19274), (9633, 19276), (9634, 19278), (9635, 19280), (9636, 19282), (9637, 19284), (9638, 19286), (9639, 19288), (9640, 19290), (9641, 19292), (9642, 19294), (9643, 19296), (9644, 19298), (9645, 19300), (9646, 19302), (9647, 19304), (9648, 19306), (9649, 19308), (9650, 19310), (9651, 19312), (9652, 19314), (9653, 19316), (9654, 19318), (9655, 19320), (9656, 19322), (9657, 19324), (9658, 19326), (9659, 19328), (9660, 19330), (9661, 19332), (9662, 19334), (9663, 19336), (9664, 19338), (9665, 19340), (9666, 19342), (9667, 19344), (9668, 19346), (9669, 19348), (9670, 19350), (9671, 19352), (9672, 19354), (9673, 19356), (9674, 19358), (9675, 19360), (9676, 19362), (9677, 19364), (9678, 19366), (9679, 19368), (9680, 19370), (9681, 19372), (9682, 19374), (9683, 19376), (9684, 19378), (9685, 19380), (9686, 19382), (9687, 19384), (9688, 19386), (9689, 19388), (9690, 19390), (9691, 19392), (9692, 19394), (9693, 19396), (9694, 19398), (9695, 19400), (9696, 19402), (9697, 19404), (9698, 19406), (9699, 19408), (9700, 19410), (9701, 19412), (9702, 19414), (9703, 19416), (9704, 19418), (9705, 19420), (9706, 19422), (9707, 19424), (9708, 19426), (9709, 19428), (9710, 19430), (9711, 19432), (9712, 19434), (9713, 19436), (9714, 19438), (9715, 19440), (9716, 19442), (9717, 19444), (9718, 19446), (9719, 19448), (9720, 19450), (9721, 19452), (9722, 19454), (9723, 19456), (9724, 19458), (9725, 19460), (9726, 19462), (9727, 19464), (9728, 19466), (9729, 19468), (9730, 19470), (9731, 19472), (9732, 19474), (9733, 19476), (9734, 19478), (9735, 19480), (9736, 19482), (9737, 19484), (9738, 19486), (9739, 19488), (9740, 19490), (9741, 19492), (9742, 19494), (9743, 19496), (9744, 19498), (9745, 19500), (9746, 19502), (9747, 19504), (9748, 19506), (9749, 19508), (9750, 19510), (9751, 19512), (9752, 19514), (9753, 19516), (9754, 19518), (9755, 19520), (9756, 19522), (9757, 19524), (9758, 19526), (9759, 19528), (9760, 19530), (9761, 19532), (9762, 19534), (9763, 19536), (9764, 19538), (9765, 19540), (9766, 19542), (9767, 19544), (9768, 19546), (9769, 19548), (9770, 19550), (9771, 19552), (9772, 19554), (9773, 19556), (9774, 19558), (9775, 19560), (9776, 19562), (9777, 19564), (9778, 19566), (9779, 19568), (9780, 19570), (9781, 19572), (9782, 19574), (9783, 19576), (9784, 19578), (9785, 19580), (9786, 19582), (9787, 19584), (9788, 19586), (9789, 19588), (9790, 19590), (9791, 19592), (9792, 19594), (9793, 19596), (9794, 19598), (9795, 19600), (9796, 19602), (9797, 19604), (9798, 19606), (9799, 19608), (9800, 19610), (9801, 19612), (9802, 19614), (9803, 19616), (9804, 19618), (9805, 19620), (9806, 19622), (9807, 19624), (9808, 19626), (9809, 19628), (9810, 19630), (9811, 19632), (9812, 19634), (9813, 19636), (9814, 19638), (9815, 19640), (9816, 19642), (9817, 19644), (9818, 19646), (9819, 19648), (9820, 19650), (9821, 19652), (9822, 19654), (9823, 19656), (9824, 19658), (9825, 19660), (9826, 19662), (9827, 19664), (9828, 19666), (9829, 19668), (9830, 19670), (9831, 19672), (9832, 19674), (9833, 19676), (9834, 19678), (9835, 19680), (9836, 19682), (9837, 19684), (9838, 19686), (9839, 19688), (9840, 19690), (9841, 19692), (9842, 19694), (9843, 19696), (9844, 19698), (9845, 19700), (9846, 19702), (9847, 19704), (9848, 19706), (9849, 19708), (9850, 19710), (9851, 19712), (9852, 19714), (9853, 19716), (9854, 19718), (9855, 19720), (9856, 19722), (9857, 19724), (9858, 19726), (9859, 19728), (9860, 19730), (9861, 19732), (9862, 19734), (9863, 19736), (9864, 19738), (9865, 19740), (9866, 19742), (9867, 19744), (9868, 19746), (9869, 19748), (9870, 19750), (9871, 19752), (9872, 19754), (9873, 19756), (9874, 19758), (9875, 19760), (9876, 19762), (9877, 19764), (9878, 19766), (9879, 19768), (9880, 19770), (9881, 19772), (9882, 19774), (9883, 19776), (9884, 19778), (9885, 19780), (9886, 19782), (9887, 19784), (9888, 19786), (9889, 19788), (9890, 19790), (9891, 19792), (9892, 19794), (9893, 19796), (9894, 19798), (9895, 19800), (9896, 19802), (9897, 19804), (9898, 19806), (9899, 19808), (9900, 19810), (9901, 19812), (9902, 19814), (9903, 19816), (9904, 19818), (9905, 19820), (9906, 19822), (9907, 19824), (9908, 19826), (9909, 19828), (9910, 19830), (9911, 19832), (9912, 19834), (9913, 19836), (9914, 19838), (9915, 19840), (9916, 19842), (9917, 19844), (9918, 19846), (9919, 19848), (9920, 19850), (9921, 19852), (9922, 19854), (9923, 19856), (9924, 19858), (9925, 19860), (9926, 19862), (9927, 19864), (9928, 19866), (9929, 19868), (9930, 19870), (9931, 19872), (9932, 19874), (9933, 19876), (9934, 19878), (9935, 19880), (9936, 19882), (9937, 19884), (9938, 19886), (9939, 19888), (9940, 19890), (9941, 19892), (9942, 19894), (9943, 19896), (9944, 19898), (9945, 19900), (9946, 19902), (9947, 19904), (9948, 19906), (9949, 19908), (9950, 19910), (9951, 19912), (9952, 19914), (9953, 19916), (9954, 19918), (9955, 19920), (9956, 19922), (9957, 19924), (9958, 19926), (9959, 19928), (9960, 19930), (9961, 19932), (9962, 19934), (9963, 19936), (9964, 19938), (9965, 19940), (9966, 19942), (9967, 19944), (9968, 19946), (9969, 19948), (9970, 19950), (9971, 19952), (9972, 19954), (9973, 19956), (9974, 19958), (9975, 19960), (9976, 19962), (9977, 19964), (9978, 19966), (9979, 19968), (9980, 19970), (9981, 19972), (9982, 19974), (9983, 19976), (9984, 19978), (9985, 19980), (9986, 19982), (9987, 19984), (9988, 19986), (9989, 19988), (9990, 19990), (9991, 19992), (9992, 19994), (9993, 19996), (9994, 19998)]
seq = range(10, 20000, 2)
class test.test_enumerate.TestEmpty(methodName='runTest')[source]

Bases: test.test_enumerate.EnumerateTestCase

res = []
seq = ''
class test.test_enumerate.TestLongStart(methodName='runTest')[source]

Bases: test.test_enumerate.EnumerateStartTestCase

enum(i)
res = [(2147483648, 'a'), (2147483649, 'b'), (2147483650, 'c')]
seq = 'abc'
class test.test_enumerate.TestReversed(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_enumerate.PickleTest

test_args()[source]
test_bug1229429()[source]
test_gc()[source]
test_len()[source]
test_objmethods()[source]
test_pickle()[source]
test_range_optimization()[source]
test_simple()[source]
class test.test_enumerate.TestStart(methodName='runTest')[source]

Bases: test.test_enumerate.EnumerateStartTestCase

enum(i)
res = [(11, 'a'), (12, 'b'), (13, 'c')]
seq = 'abc'
class test.test_enumerate.X(seqn)[source]

Bases: object

Missing __getitem__ and __iter__

test.test_enumerate.test_main(verbose=None)[source]

test.test_eof module

test script for a few new invalid token catches

class test.test_eof.EOFTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_EOFC()[source]
test_EOFS()[source]
test.test_eof.test_main()[source]

test.test_epoll module

test.test_errno module

Test the errno module Roger E. Masse

class test.test_errno.ErrnoAttributeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_for_improper_attributes()[source]
test_using_errorcode()[source]
class test.test_errno.ErrorcodeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_attributes_in_errorcode()[source]
test.test_errno.test_main()[source]

test.test_exception_variations module

class test.test_exception_variations.ExceptionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_nested()[source]
test_nested_else()[source]
test_try_except()[source]
test_try_except_else()[source]
test_try_except_else_finally()[source]
test_try_except_else_finally_no_exception()[source]
test_try_except_else_no_exception()[source]
test_try_except_finally()[source]
test_try_except_finally_no_exception()[source]
test_try_except_no_exception()[source]
test_try_finally_no_exception()[source]
test.test_exception_variations.test_main()[source]

test.test_exceptions module

class test.test_exceptions.ExceptionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

raise_catch(exc, excname)[source]
testAttributes()[source]
testChainingAttrs()[source]
testChainingDescriptors()[source]
testExceptionCleanupNames()[source]
testExceptionCleanupState()[source]
testInfiniteRecursion()[source]
testInvalidAttrs()[source]
testInvalidTraceback()[source]
testKeywordArgs()[source]
testNoneClearsTracebackAttr()[source]
testRaising()[source]
testSettingException()[source]
testSyntaxErrorMessage()[source]
testSyntaxErrorOffset()[source]
testWithTraceback()[source]
test_3114()[source]
test_MemoryError()[source]
test_WindowsError()[source]
test_badisinstance()[source]
test_errno_ENOTDIR()[source]
test_exception_target_in_nested_scope()[source]
test_exception_with_doc()[source]
test_generator_close_cleanup_exc_state()[source]
test_generator_del_cleanup_exc_state()[source]
test_generator_doesnt_retain_old_exc()[source]
test_generator_finalizing_and_exc_info()[source]
test_generator_leaking()[source]
test_generator_leaking2()[source]
test_generator_next_cleanup_exc_state()[source]
test_generator_send_cleanup_exc_state()[source]
test_generator_throw_cleanup_exc_state()[source]
test_memory_error_cleanup()[source]
test_recursion_error_cleanup()[source]
test_str()[source]
test_unicode_change_attributes()[source]
test_unicode_errors_no_object()[source]
class test.test_exceptions.ImportErrorTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_attributes()[source]
test_non_str_argument()[source]
exception test.test_exceptions.NaiveException(x)[source]

Bases: Exception

exception test.test_exceptions.SlottedNaiveException(x)[source]

Bases: Exception

x

test.test_extcall module

Doctest for method/function calls.

We’re going the use these types for extra testing

>>> from collections import UserList
>>> from collections import UserDict

We’re defining four helper functions

>>> def e(a,b):
...     print(a, b)
>>> def f(*a, **k):
...     print(a, support.sortdict(k))
>>> def g(x, *y, **z):
...     print(x, y, support.sortdict(z))
>>> def h(j=1, a=2, h=3):
...     print(j, a, h)

Argument list examples

>>> f()
() {}
>>> f(1)
(1,) {}
>>> f(1, 2)
(1, 2) {}
>>> f(1, 2, 3)
(1, 2, 3) {}
>>> f(1, 2, 3, *(4, 5))
(1, 2, 3, 4, 5) {}
>>> f(1, 2, 3, *[4, 5])
(1, 2, 3, 4, 5) {}
>>> f(1, 2, 3, *UserList([4, 5]))
(1, 2, 3, 4, 5) {}

Here we add keyword arguments

>>> f(1, 2, 3, **{'a':4, 'b':5})
(1, 2, 3) {'a': 4, 'b': 5}
>>> f(1, 2, 3, *[4, 5], **{'a':6, 'b':7})
(1, 2, 3, 4, 5) {'a': 6, 'b': 7}
>>> f(1, 2, 3, x=4, y=5, *(6, 7), **{'a':8, 'b': 9})
(1, 2, 3, 6, 7) {'a': 8, 'b': 9, 'x': 4, 'y': 5}
>>> f(1, 2, 3, **UserDict(a=4, b=5))
(1, 2, 3) {'a': 4, 'b': 5}
>>> f(1, 2, 3, *(4, 5), **UserDict(a=6, b=7))
(1, 2, 3, 4, 5) {'a': 6, 'b': 7}
>>> f(1, 2, 3, x=4, y=5, *(6, 7), **UserDict(a=8, b=9))
(1, 2, 3, 6, 7) {'a': 8, 'b': 9, 'x': 4, 'y': 5}

Examples with invalid arguments (TypeErrors). We’re also testing the function names in the exception messages.

Verify clearing of SF bug #733667

>>> e(c=4)
Traceback (most recent call last):
  ...
TypeError: e() got an unexpected keyword argument 'c'
>>> g()
Traceback (most recent call last):
  ...
TypeError: g() missing 1 required positional argument: 'x'
>>> g(*())
Traceback (most recent call last):
  ...
TypeError: g() missing 1 required positional argument: 'x'
>>> g(*(), **{})
Traceback (most recent call last):
  ...
TypeError: g() missing 1 required positional argument: 'x'
>>> g(1)
1 () {}
>>> g(1, 2)
1 (2,) {}
>>> g(1, 2, 3)
1 (2, 3) {}
>>> g(1, 2, 3, *(4, 5))
1 (2, 3, 4, 5) {}
>>> class Nothing: pass
...
>>> g(*Nothing())
Traceback (most recent call last):
  ...
TypeError: g() argument after * must be a sequence, not Nothing
>>> class Nothing:
...     def __len__(self): return 5
...
>>> g(*Nothing())
Traceback (most recent call last):
  ...
TypeError: g() argument after * must be a sequence, not Nothing
>>> class Nothing():
...     def __len__(self): return 5
...     def __getitem__(self, i):
...         if i<3: return i
...         else: raise IndexError(i)
...
>>> g(*Nothing())
0 (1, 2) {}
>>> class Nothing:
...     def __init__(self): self.c = 0
...     def __iter__(self): return self
...     def __next__(self):
...         if self.c == 4:
...             raise StopIteration
...         c = self.c
...         self.c += 1
...         return c
...
>>> g(*Nothing())
0 (1, 2, 3) {}

Make sure that the function doesn’t stomp the dictionary

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> d2 = d.copy()
>>> g(1, d=4, **d)
1 () {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> d == d2
True

What about willful misconduct?

>>> def saboteur(**kw):
...     kw['x'] = 'm'
...     return kw
>>> d = {}
>>> kw = saboteur(a=1, **d)
>>> d
{}
>>> g(1, 2, 3, **{'x': 4, 'y': 5})
Traceback (most recent call last):
  ...
TypeError: g() got multiple values for argument 'x'
>>> f(**{1:2})
Traceback (most recent call last):
  ...
TypeError: f() keywords must be strings
>>> h(**{'e': 2})
Traceback (most recent call last):
  ...
TypeError: h() got an unexpected keyword argument 'e'
>>> h(*h)
Traceback (most recent call last):
  ...
TypeError: h() argument after * must be a sequence, not function
>>> dir(*h)
Traceback (most recent call last):
  ...
TypeError: dir() argument after * must be a sequence, not function
>>> None(*h)
Traceback (most recent call last):
  ...
TypeError: NoneType object argument after * must be a sequence, not function
>>> h(**h)
Traceback (most recent call last):
  ...
TypeError: h() argument after ** must be a mapping, not function
>>> dir(**h)
Traceback (most recent call last):
  ...
TypeError: dir() argument after ** must be a mapping, not function
>>> None(**h)
Traceback (most recent call last):
  ...
TypeError: NoneType object argument after ** must be a mapping, not function
>>> dir(b=1, **{'b': 1})
Traceback (most recent call last):
  ...
TypeError: dir() got multiple values for keyword argument 'b'

Another helper function

>>> def f2(*a, **b):
...     return a, b
>>> d = {}
>>> for i in range(512):
...     key = 'k%d' % i
...     d[key] = i
>>> a, b = f2(1, *(2,3), **d)
>>> len(a), len(b), b == d
(3, 512, True)
>>> class Foo:
...     def method(self, arg1, arg2):
...         return arg1+arg2
>>> x = Foo()
>>> Foo.method(*(x, 1, 2))
3
>>> Foo.method(x, *(1, 2))
3
>>> Foo.method(*(1, 2, 3))
5
>>> Foo.method(1, *[2, 3])
5

A PyCFunction that takes only positional parameters should allow an empty keyword dictionary to pass without a complaint, but raise a TypeError if te dictionary is not empty

>>> try:
...     silence = id(1, *{})
...     True
... except:
...     False
True
>>> id(1, **{'foo': 1})
Traceback (most recent call last):
  ...
TypeError: id() takes no keyword arguments

A corner case of keyword dictionary items being deleted during the function call setup. See <http://bugs.python.org/issue2016>.

>>> class Name(str):
...     def __eq__(self, other):
...         try:
...              del x[self]
...         except KeyError:
...              pass
...         return str.__eq__(self, other)
...     def __hash__(self):
...         return str.__hash__(self)
>>> x = {Name("a"):1, Name("b"):2}
>>> def f(a, b):
...     print(a,b)
>>> f(**x)
1 2

Too many arguments:

>>> def f(): pass
>>> f(1)
Traceback (most recent call last):
  ...
TypeError: f() takes 0 positional arguments but 1 was given
>>> def f(a): pass
>>> f(1, 2)
Traceback (most recent call last):
  ...
TypeError: f() takes 1 positional argument but 2 were given
>>> def f(a, b=1): pass
>>> f(1, 2, 3)
Traceback (most recent call last):
  ...
TypeError: f() takes from 1 to 2 positional arguments but 3 were given
>>> def f(*, kw): pass
>>> f(1, kw=3)
Traceback (most recent call last):
  ...
TypeError: f() takes 0 positional arguments but 1 positional argument (and 1 keyword-only argument) were given
>>> def f(*, kw, b): pass
>>> f(1, 2, 3, b=3, kw=3)
Traceback (most recent call last):
  ...
TypeError: f() takes 0 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given
>>> def f(a, b=2, *, kw): pass
>>> f(2, 3, 4, kw=4)
Traceback (most recent call last):
  ...
TypeError: f() takes from 1 to 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given

Too few and missing arguments:

>>> def f(a): pass
>>> f()
Traceback (most recent call last):
  ...
TypeError: f() missing 1 required positional argument: 'a'
>>> def f(a, b): pass
>>> f()
Traceback (most recent call last):
  ...
TypeError: f() missing 2 required positional arguments: 'a' and 'b'
>>> def f(a, b, c): pass
>>> f()
Traceback (most recent call last):
  ...
TypeError: f() missing 3 required positional arguments: 'a', 'b', and 'c'
>>> def f(a, b, c, d, e): pass
>>> f()
Traceback (most recent call last):
  ...
TypeError: f() missing 5 required positional arguments: 'a', 'b', 'c', 'd', and 'e'
>>> def f(a, b=4, c=5, d=5): pass
>>> f(c=12, b=9)
Traceback (most recent call last):
  ...
TypeError: f() missing 1 required positional argument: 'a'

Same with keyword only args:

>>> def f(*, w): pass
>>> f()
Traceback (most recent call last):
  ...
TypeError: f() missing 1 required keyword-only argument: 'w'
>>> def f(*, a, b, c, d, e): pass
>>> f()
Traceback (most recent call last):
  ...
TypeError: f() missing 5 required keyword-only arguments: 'a', 'b', 'c', 'd', and 'e'
test.test_extcall.test_main()[source]

test.test_faulthandler module

class test.test_faulthandler.FaultHandlerTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_dump_traceback(filename)[source]

Explicitly call dump_traceback() function and check its output. Raise an error if the output doesn’t match the expected format.

check_dump_traceback_later(repeat=False, cancel=False, file=False, twice=False)[source]
check_dump_traceback_threads(filename)[source]

Call explicitly dump_traceback(all_threads=True) and check the output. Raise an error if the output doesn’t match the expected format.

check_fatal_error(code, line_number, name_regex, filename=None, all_threads=True, other_regex=None)[source]

Check that the fault handler for fatal errors is enabled and check the traceback from the child process output.

Raise an error if the output doesn’t match the expected format.

check_register(filename=False, all_threads=False, unregister=False, chain=False)[source]

Register a handler displaying the traceback on a user signal. Raise the signal and check the written traceback.

If chain is True, check that the previous signal handler is called.

Raise an error if the output doesn’t match the expected format.

check_stderr_none()[source]
get_output(code, filename=None)[source]

Run the specified code in Python (in a new child process) and read the output from the standard error or from a file (if filename is set). Return the output lines as a list.

Strip the reference count from the standard error for Python debug build, and replace “Current thread 0x00007f8d8fbd9700” by “Current thread XXX”.

test_disable()[source]
test_disabled_by_default()[source]
test_dump_traceback()[source]
test_dump_traceback_file()[source]
test_dump_traceback_later()[source]
test_dump_traceback_later_cancel()[source]
test_dump_traceback_later_file()[source]
test_dump_traceback_later_repeat()[source]
test_dump_traceback_later_twice()[source]
test_dump_traceback_threads()[source]
test_dump_traceback_threads_file()[source]
test_enable_file()[source]
test_enable_single_thread()[source]
test_env_var()[source]
test_fatal_error()[source]
test_gil_released()[source]
test_is_enabled()[source]
test_read_null()[source]
test_register()[source]
test_register_chain()[source]
test_register_file()[source]
test_register_threads()[source]
test_sigabrt()[source]
test_sigbus()[source]
test_sigfpe()[source]
test_sigill()[source]
test_sigsegv()[source]
test_stack_overflow()[source]
test_stderr_None()[source]
test_sys_xoptions()[source]
test_truncate()[source]
test_unregister()[source]
test.test_faulthandler.expected_traceback(lineno1, lineno2, header, min_count=1)[source]
test.test_faulthandler.temporary_filename()[source]

test.test_fcntl module

test.test_file module

class test.test_file.AutoFileTests[source]

Bases: object

setUp()[source]
tearDown()[source]
testAttributes()[source]
testErrors()[source]
testMethods()[source]
testReadWhenWriting()[source]
testReadinto()[source]
testReadinto_text()[source]
testWeakRefs()[source]
testWritelinesIntegers()[source]
testWritelinesIntegersUserList()[source]
testWritelinesNonString()[source]
testWritelinesUserList()[source]
class test.test_file.CAutoFileTests(methodName='runTest')[source]

Bases: test.test_file.AutoFileTests, unittest.case.TestCase

open()
open(file, mode=’r’, buffering=-1, encoding=None,
errors=None, newline=None, closefd=True, opener=None) -> file object

Open file and return a stream. Raise IOError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for creating and writing to a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register or run ‘help(codecs.Codec)’ for a list of the permitted encoding error strings.

newline controls how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’ or ‘n’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_file.COtherFileTests(methodName='runTest')[source]

Bases: test.test_file.OtherFileTests, unittest.case.TestCase

open()
open(file, mode=’r’, buffering=-1, encoding=None,
errors=None, newline=None, closefd=True, opener=None) -> file object

Open file and return a stream. Raise IOError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for creating and writing to a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register or run ‘help(codecs.Codec)’ for a list of the permitted encoding error strings.

newline controls how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’ or ‘n’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_file.OtherFileTests[source]

Bases: object

testBadModeArgument()[source]
testIteration()[source]
testModeStrings()[source]
testSetBufferSize()[source]
testTruncateOnWindows()[source]
class test.test_file.PyAutoFileTests(methodName='runTest')[source]

Bases: test.test_file.AutoFileTests, unittest.case.TestCase

static open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream. Raise OSError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for exclusive creation of a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the str name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register for a list of the permitted encoding error strings.

newline is a string controlling how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

closedfd is a bool. If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

The newly created file is non-inheritable.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_file.PyOtherFileTests(methodName='runTest')[source]

Bases: test.test_file.OtherFileTests, unittest.case.TestCase

static open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream. Raise OSError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for exclusive creation of a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the str name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register for a list of the permitted encoding error strings.

newline is a string controlling how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

closedfd is a bool. If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

The newly created file is non-inheritable.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

test.test_file.tearDownModule()[source]

test.test_file_eintr module

class test.test_file_eintr.TestBufferedIOSignalInterrupt(methodName='runTest')[source]

Bases: test.test_file_eintr.TestFileIOSignalInterrupt

test_readall()[source]

BufferedReader.read() must handle signals and not lose data.

class test.test_file_eintr.TestFileIOSignalInterrupt(methodName='runTest')[source]

Bases: unittest.case.TestCase

fail_with_process_info(why, stdout=b'', stderr=b'', communicate=True)[source]

A common way to cleanup and fail with useful debug output.

Kills the process if it is still running, collects remaining output and fails the test with an error message including the output.

Args:

why: Text to go after “Error from IO process” in the message. stdout, stderr: standard output and error from the process so

far to include in the error message.
communicate: bool, when True we call communicate() on the process
after killing it to gather additional output.
setUp()[source]
tearDown()[source]
test_readall()[source]

readall() must handle signals and not lose data.

test_readline()[source]

readline() must handle signals and not lose data.

test_readlines()[source]

readlines() must handle signals and not lose data.

class test.test_file_eintr.TestTextIOSignalInterrupt(methodName='runTest')[source]

Bases: test.test_file_eintr.TestFileIOSignalInterrupt

test_readall()[source]

read() must handle signals and not lose data.

test_readline()[source]

readline() must handle signals and not lose data.

test_readlines()[source]

readlines() must handle signals and not lose data.

test.test_file_eintr.test_main()[source]

test.test_filecmp module

class test.test_filecmp.DirCompareTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_cmpfiles()[source]
test_default_ignores()[source]
test_dircmp()[source]
test_report_full_closure()[source]
test_report_partial_closure()[source]
class test.test_filecmp.FileCompareTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_cache_clear()[source]
test_different()[source]
test_matching()[source]
test.test_filecmp.test_main()[source]

test.test_fileinput module

Tests for fileinput module. Nick Mathewson

class test.test_fileinput.BaseFileInputGlobalMethodsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Base class for unit tests for the global function of the fileinput module.

assertExactlyOneInvocation(mock_file_input, method_name)[source]
setUp()[source]
tearDown()[source]
class test.test_fileinput.BufferSizesTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

buffer_size_test(t1, t2, t3, t4, bs=0, round=0)[source]
test_buffer_sizes()[source]
class test.test_fileinput.FileInputTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test__getitem__()[source]

Tests invoking FileInput.__getitem__() with the current line number

test__getitem__eof()[source]

Tests invoking FileInput.__getitem__() with the line number but at end-of-input

test__getitem__invalid_key()[source]

Tests invoking FileInput.__getitem__() with an index unequal to the line number

test_close_on_exception()[source]
test_context_manager()[source]
test_empty_files_list_specified_to_constructor()[source]
test_file_opening_hook()[source]
test_fileno()[source]
test_fileno_when_ValueError_raised()[source]
test_files_that_dont_end_with_newline()[source]
test_nextfile_oserror_deleting_backup()[source]

Tests invoking FileInput.nextfile() when the attempt to delete the backup file would raise OSError. This error is expected to be silently ignored

test_opening_mode()[source]
test_readline()[source]
test_readline_os_chmod_raises_OSError()[source]

Tests invoking FileInput.readline() when os.chmod() raises OSError. This exception should be silently discarded.

test_readline_os_fstat_raises_OSError()[source]

Tests invoking FileInput.readline() when os.fstat() raises OSError. This exception should be silently discarded.

test_stdin_binary_mode()[source]
test_zero_byte_files()[source]
class test.test_fileinput.InvocationRecorder[source]

Bases: object

class test.test_fileinput.MockFileInput(files=None, inplace=False, backup='', bufsize=0, mode='r', openhook=None)[source]

Bases: object

A class that mocks out fileinput.FileInput for use during unit tests

close()[source]
filelineno()[source]
filename()[source]
fileno()[source]
isfirstline()[source]
isstdin()[source]
lineno()[source]
nextfile()[source]
class test.test_fileinput.Test_fileinput_close(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.close()

test_state_is_None()[source]

Tests that fileinput.close() does nothing if fileinput._state is None

test_state_is_not_None()[source]

Tests that fileinput.close() invokes close() on fileinput._state and sets _state=None

class test.test_fileinput.Test_fileinput_filelineno(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.filelineno()

test_state_is_None()[source]

Tests fileinput.filelineno() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.filelineno() when fileinput._state is not None. Ensure that it invokes fileinput._state.filelineno() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_fileinput_filename(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.filename()

test_state_is_None()[source]

Tests fileinput.filename() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.filename() when fileinput._state is not None. Ensure that it invokes fileinput._state.filename() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_fileinput_fileno(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.fileno()

test_state_is_None()[source]

Tests fileinput.fileno() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.fileno() when fileinput._state is not None. Ensure that it invokes fileinput._state.fileno() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_fileinput_input(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.input()

do_test_call_input()[source]

Tests that fileinput.input() creates a new fileinput.FileInput object, passing the given parameters unmodified to fileinput.FileInput.__init__(). Note that this test depends on the monkey patching of fileinput.FileInput done by setUp().

test_state_is_None()[source]

Tests invoking fileinput.input() when fileinput._state is None Expect it to create and return a new fileinput.FileInput object with all method parameters passed explicitly to the __init__() method; also ensure that fileinput._state is set to the returned instance.

test_state_is_not_None_and_state_file_is_None()[source]

Tests invoking fileinput.input() when fileinput._state is not None but its _file attribute is None. Expect it to create and return a new fileinput.FileInput object with all method parameters passed explicitly to the __init__() method; also ensure that fileinput._state is set to the returned instance.

test_state_is_not_None_and_state_file_is_not_None()[source]

Tests invoking fileinput.input() when fileinput._state is not None and its _file attribute is also not None. Expect RuntimeError to be raised with a meaningful error message and for fileinput._state to not be modified.

class test.test_fileinput.Test_fileinput_isfirstline(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.isfirstline()

test_state_is_None()[source]

Tests fileinput.isfirstline() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.isfirstline() when fileinput._state is not None. Ensure that it invokes fileinput._state.isfirstline() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_fileinput_isstdin(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.isstdin()

test_state_is_None()[source]

Tests fileinput.isstdin() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.isstdin() when fileinput._state is not None. Ensure that it invokes fileinput._state.isstdin() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_fileinput_lineno(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.lineno()

test_state_is_None()[source]

Tests fileinput.lineno() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.lineno() when fileinput._state is not None. Ensure that it invokes fileinput._state.lineno() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_fileinput_nextfile(methodName='runTest')[source]

Bases: test.test_fileinput.BaseFileInputGlobalMethodsTest

Unit tests for fileinput.nextfile()

test_state_is_None()[source]

Tests fileinput.nextfile() when fileinput._state is None. Ensure that it raises RuntimeError with a meaningful error message and does not modify fileinput._state

test_state_is_not_None()[source]

Tests fileinput.nextfile() when fileinput._state is not None. Ensure that it invokes fileinput._state.nextfile() exactly once, returns whatever it returns, and does not modify fileinput._state to point to a different object.

class test.test_fileinput.Test_hook_compressed(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for fileinput.hook_compressed()

do_test_use_builtin_open(filename, mode)[source]
static replace_builtin_open(new_open_func)[source]
setUp()[source]
test_blah_ext()[source]
test_bz2_ext_builtin()[source]
test_bz2_ext_fake()[source]
test_empty_string()[source]
test_gz_ext_builtin()[source]
test_gz_ext_fake()[source]
test_no_ext()[source]
class test.test_fileinput.Test_hook_encoded(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for fileinput.hook_encoded()

test()[source]
test_modes()[source]
class test.test_fileinput.UnconditionallyRaise(exception_type)[source]

Bases: object

test.test_fileinput.remove_tempfiles(*names)[source]
test.test_fileinput.writeTmp(i, lines, mode='w')[source]

test.test_fileio module

class test.test_fileio.AutoFileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

ClosedFD(func)[source]
ClosedFDRaises(func)[source]
ReopenForRead()[source]
setUp()[source]
tearDown()[source]
testAttributes()[source]
testErrnoOnClose(f)[source]
testErrnoOnClosedFileno(f)[source]
testErrnoOnClosedIsatty(f)[source]
testErrnoOnClosedRead(f)[source]
testErrnoOnClosedReadable(f)[source]
testErrnoOnClosedReadall(f)[source]
testErrnoOnClosedReadinto(f)[source]
testErrnoOnClosedSeek(f)[source]
testErrnoOnClosedSeekable(f)[source]
testErrnoOnClosedTell(f)[source]
testErrnoOnClosedTruncate(f)[source]
testErrnoOnClosedWritable(f)[source]
testErrnoOnClosedWrite(f)[source]
testErrors()[source]
testMethods()[source]
testOpenDirFD()[source]
testOpendir()[source]
testReadinto()[source]
testRepr()[source]
testSeekTell()[source]
testWeakRefs()[source]
testWritelinesError()[source]
testWritelinesList()[source]
testWritelinesUserList()[source]
test_none_args()[source]
test_reject()[source]
class test.test_fileio.OtherFileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

testAbles()[source]
testAppend()[source]
testBadModeArgument()[source]
testBytesOpen()[source]
testConstructorHandlesNULChars()[source]
testInvalidFd()[source]
testInvalidFd_overflow()[source]
testInvalidInit()[source]
testInvalidModeStrings()[source]
testModeStrings()[source]
testTruncate()[source]
testTruncateOnWindows()[source]
testUnclosedFDOnException()[source]
testUnicodeOpen()[source]
testWarnings()[source]
test.test_fileio.test_main()[source]

test.test_finalization module

Tests for object finalization semantics, as outlined in PEP 442.

class test.test_finalization.ChainedBase[source]

Bases: object

chain(left)[source]
check_sanity()[source]
class test.test_finalization.ChainedResurrector[source]

Bases: test.test_finalization.ChainedBase, test.test_finalization.SimpleResurrector

class test.test_finalization.CycleChainFinalizationTest(methodName='runTest')[source]

Bases: test.test_finalization.TestBase, unittest.case.TestCase

Test finalization of a cyclic chain. These tests are similar in spirit to the self-cycle tests above, but the collectable object graph isn’t trivial anymore.

build_chain(classes)[source]
check_non_resurrecting_chain(classes)[source]
check_resurrecting_chain(classes)[source]
test_heterogenous_resurrect_one()[source]
test_heterogenous_resurrect_three()[source]
test_heterogenous_resurrect_two()[source]
test_heterogenous_suicidal_one()[source]
test_heterogenous_suicidal_two()[source]
test_homogenous()[source]
test_homogenous_resurrect()[source]
test_homogenous_suicidal()[source]
class test.test_finalization.Legacy[source]

Bases: test.test_finalization.LegacyBase

class test.test_finalization.LegacyBase[source]

Bases: test.test_finalization.SimpleBase

class test.test_finalization.LegacyFinalizationTest(methodName='runTest')[source]

Bases: test.test_finalization.TestBase, unittest.case.TestCase

Test finalization of objects with a tp_del.

tearDown()[source]
test_legacy()[source]
test_legacy_resurrect()[source]
test_legacy_self_cycle()[source]
class test.test_finalization.LegacyResurrector[source]

Bases: test.test_finalization.LegacyBase

side_effect()[source]

Resurrect self by storing self in a class-wide list.

class test.test_finalization.LegacySelfCycle[source]

Bases: test.test_finalization.SelfCycleBase, test.test_finalization.LegacyBase

class test.test_finalization.NonGC[source]

Bases: test.test_finalization.NonGCSimpleBase

class test.test_finalization.NonGCResurrector[source]

Bases: test.test_finalization.NonGCSimpleBase

side_effect()[source]

Resurrect self by storing self in a class-wide list.

class test.test_finalization.NonGCSimpleBase[source]

Bases: object

The base class for all the objects under test, equipped with various testing features.

check_sanity()[source]

Check the object is sane (non-broken).

del_calls = []
errors = []
side_effect()[source]

A side effect called on destruction.

survivors = []
classmethod test()[source]

A context manager to use around all finalization tests.

tp_del_calls = []
class test.test_finalization.SelfCycleBase[source]

Bases: object

check_sanity()[source]
class test.test_finalization.SelfCycleFinalizationTest(methodName='runTest')[source]

Bases: test.test_finalization.TestBase, unittest.case.TestCase

Test finalization of an object having a single cyclic reference to itself.

test_simple()[source]
test_simple_resurrect()[source]
test_simple_suicide()[source]
class test.test_finalization.SelfCycleResurrector[source]

Bases: test.test_finalization.SelfCycleBase, test.test_finalization.SimpleResurrector

class test.test_finalization.Simple[source]

Bases: test.test_finalization.SimpleBase

class test.test_finalization.SimpleBase[source]

Bases: test.test_finalization.NonGCSimpleBase

check_sanity()[source]
class test.test_finalization.SimpleChained[source]

Bases: test.test_finalization.ChainedBase, test.test_finalization.Simple

class test.test_finalization.SimpleFinalizationTest(methodName='runTest')[source]

Bases: test.test_finalization.TestBase, unittest.case.TestCase

Test finalization without refcycles.

test_non_gc()[source]
test_non_gc_resurrect()[source]
test_simple()[source]
test_simple_resurrect()[source]
class test.test_finalization.SimpleResurrector[source]

Bases: test.test_finalization.NonGCResurrector, test.test_finalization.SimpleBase

class test.test_finalization.SimpleSelfCycle[source]

Bases: test.test_finalization.SelfCycleBase, test.test_finalization.Simple

class test.test_finalization.SuicidalChained[source]

Bases: test.test_finalization.ChainedBase, test.test_finalization.Simple

side_effect()[source]

Explicitly break the reference cycle.

class test.test_finalization.SuicidalSelfCycle[source]

Bases: test.test_finalization.SelfCycleBase, test.test_finalization.Simple

side_effect()[source]

Explicitly break the reference cycle.

class test.test_finalization.TestBase[source]

Bases: object

assert_del_calls(ids)[source]
assert_garbage(ids)[source]
assert_survivors(ids)[source]
assert_tp_del_calls(ids)[source]
clear_survivors()[source]
setUp()[source]
tearDown()[source]
test.test_finalization.test_main()[source]

test.test_float module

class test.test_float.FormatFunctionsTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_getformat()[source]
test_setformat()[source]
class test.test_float.FormatTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_format()[source]
test_format_testfile()[source]
test_issue5864()[source]
class test.test_float.GeneralFloatCases(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertEqualAndEqualSign(a, b)[source]
test_error_message()[source]
test_float()[source]
test_float_containment()[source]
test_float_mod()[source]
test_float_pow()[source]
test_float_with_comma(*args, **kwds)
test_floatasratio()[source]
test_floatconversion()[source]
test_is_integer()[source]
class test.test_float.HexFloatTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

EPS = 2.220446049250313e-16
MAX = 1.7976931348623157e+308
MIN = 2.2250738585072014e-308
TINY = 5e-324
identical(x, y)[source]
test_ends()[source]
test_from_hex()[source]
test_invalid_inputs()[source]
test_roundtrip()[source]
test_whitespace()[source]
class test.test_float.IEEEFormatTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_double_specials_do_unpack()[source]
test_float_specials_do_unpack()[source]
class test.test_float.InfNanTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_inf_as_str()[source]
test_inf_from_str()[source]
test_inf_signs()[source]
test_nan_as_str()[source]
test_nan_from_str()[source]
test_nan_signs()[source]
class test.test_float.ReprTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_repr()[source]
test_short_repr()[source]
class test.test_float.RoundTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_format_specials()[source]
test_inf_nan()[source]
test_large_n()[source]
test_matches_float_format()[source]
test_overflow()[source]
test_previous_round_bugs()[source]
test_small_n()[source]
class test.test_float.UnknownFormatTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_double_specials_dont_unpack()[source]
test_float_specials_dont_unpack()[source]
test.test_float.fromHex()

float.fromhex(string) -> float

Create a floating-point number from a hexadecimal string. >>> float.fromhex(‘0x1.ffffp10’) 2047.984375 >>> float.fromhex(‘-0x1p-1074’) -5e-324

test.test_float.test_main()[source]

test.test_flufl module

class test.test_flufl.FLUFLTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_barry_as_bdfl()[source]
test_guido_as_bdfl()[source]
test.test_flufl.test_main()[source]

test.test_fnmatch module

Test cases for the fnmatch module.

class test.test_fnmatch.FilterTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_filter()[source]
class test.test_fnmatch.FnmatchTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_match(filename, pattern, should_match=1, fn=<function fnmatch at 0x021266A8>)[source]
test_bytes()[source]
test_fnmatch()[source]
test_fnmatchcase()[source]
test_mix_bytes_str()[source]
class test.test_fnmatch.TranslateTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_translate()[source]
test.test_fnmatch.test_main()[source]

test.test_fork1 module

test.test_format module

class test.test_format.FormatTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_format()[source]
test_locale()[source]
test_non_ascii()[source]
test_optimisations()[source]
test_precision()[source]
test_precision_c_limits()[source]
test.test_format.testformat(formatstr, args, output=None, limit=None, overflowok=False)[source]

test.test_fractions module

Tests for Lib/fractions.py.

class test.test_fractions.DummyFloat(value)[source]

Bases: object

Dummy float class for testing comparisons with Fractions

class test.test_fractions.DummyFraction[source]

Bases: fractions.Fraction

Dummy Fraction subclass for copy and deepcopy testing.

class test.test_fractions.DummyRational(num, den)[source]

Bases: object

Test comparison of Fraction with a naive rational implementation.

class test.test_fractions.FractionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertRaisesMessage(exc_type, message, callable, *args, **kwargs)[source]

Asserts that callable(*args, **kwargs) raises exc_type(message).

assertTypedEquals(expected, actual)[source]

Asserts that both the types and values are the same.

testApproximateCos1()[source]
testApproximatePi()[source]
testArithmetic()[source]
testBigComplexComparisons()[source]
testBigFloatComparisons()[source]
testComparisons()[source]
testComparisonsDummyFloat()[source]
testComparisonsDummyRational()[source]
testConversions()[source]
testFromDecimal()[source]
testFromFloat()[source]
testFromString()[source]
testHash()[source]
testImmutable()[source]
testInit()[source]
testInitFromDecimal()[source]
testInitFromFloat()[source]
testLimitDenominator()[source]
testMixedArithmetic()[source]
testMixedEqual()[source]
testMixedLess()[source]
testMixedLessEqual()[source]
testMixingWithDecimal()[source]
testRound()[source]
testStringification()[source]
test_copy_deepcopy_pickle()[source]
test_slots()[source]
class test.test_fractions.GcdTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testMisc()[source]
test.test_fractions.test_main()[source]

test.test_frame module

class test.test_frame.ClearTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for frame.clear().

clear_traceback_frames(tb)[source]

Clear all frames in a traceback.

inner(x=5, **kwargs)[source]
outer(**kwargs)[source]
test_clear_executing()[source]
test_clear_executing_generator()[source]
test_clear_generator()[source]
test_clear_locals()[source]
test_clear_refcycles()[source]
class test.test_frame.FrameLocalsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for the .f_locals attribute.

make_frames()[source]
test_clear_locals()[source]
test_locals()[source]
test_locals_clear_locals()[source]
test.test_frame.test_main()[source]

test.test_ftplib module

Test script for ftplib module.

class test.test_ftplib.DummyDTPHandler(conn, baseclass)[source]

Bases: asynchat.async_chat

dtp_conn_closed = False
handle_close()[source]
handle_error()[source]
handle_read()[source]
push(what)[source]
class test.test_ftplib.DummyFTPHandler(conn)[source]

Bases: asynchat.async_chat

cmd_abor(arg)[source]
cmd_acct(arg)[source]
cmd_cwd(arg)[source]
cmd_dele(arg)[source]
cmd_echo(arg)[source]
cmd_eprt(arg)[source]
cmd_epsv(arg)[source]
cmd_list(arg)[source]
cmd_mkd(arg)[source]
cmd_mlsd(arg)[source]
cmd_nlst(arg)[source]
cmd_noop(arg)[source]
cmd_opts(arg)[source]
cmd_pass(arg)[source]
cmd_pasv(arg)[source]
cmd_port(arg)[source]
cmd_pwd(arg)[source]
cmd_quit(arg)[source]
cmd_rest(arg)[source]
cmd_retr(arg)[source]
cmd_rmd(arg)[source]
cmd_rnfr(arg)[source]
cmd_rnto(arg)[source]
cmd_setlongretr(arg)[source]
cmd_size(arg)[source]
cmd_stor(arg)[source]
cmd_type(arg)[source]
cmd_user(arg)[source]
collect_incoming_data(data)[source]
dtp_handler

alias of DummyDTPHandler

found_terminator()[source]
handle_error()[source]
push(data)[source]
class test.test_ftplib.DummyFTPServer(address, af=<AddressFamily.AF_INET: 2>)[source]

Bases: asyncore.dispatcher, threading.Thread

handle_accepted(conn, addr)[source]
handle_connect()[source]
handle_error()[source]
handle_read()
handler

alias of DummyFTPHandler

run()[source]
start()[source]
stop()[source]
writable()[source]
class test.test_ftplib.DummyTLS_DTPHandler(conn, baseclass)[source]

Bases: test.test_ftplib.SSLConnection, test.test_ftplib.DummyDTPHandler

A DummyDTPHandler subclass supporting TLS/SSL.

class test.test_ftplib.DummyTLS_FTPHandler(conn)[source]

Bases: test.test_ftplib.SSLConnection, test.test_ftplib.DummyFTPHandler

A DummyFTPHandler subclass supporting TLS/SSL.

cmd_auth(line)[source]

Set up secure control channel.

cmd_ccc(line)[source]
cmd_pbsz(line)[source]

Negotiate size of buffer for secure data transfer. For TLS/SSL the only valid value for the parameter is ‘0’. Any other value is accepted but ignored.

cmd_prot(line)[source]

Setup un/secure data channel.

dtp_handler

alias of DummyTLS_DTPHandler

class test.test_ftplib.DummyTLS_FTPServer(address, af=<AddressFamily.AF_INET: 2>)[source]

Bases: test.test_ftplib.DummyFTPServer

handler

alias of DummyTLS_FTPHandler

class test.test_ftplib.SSLConnection(sock=None, map=None)[source]

Bases: asyncore.dispatcher

An asyncore.dispatcher subclass supporting TLS/SSL.

close()[source]
handle_error()[source]
handle_read_event()[source]
handle_write_event()[source]
recv(buffer_size)[source]
secure_connection()[source]
send(data)[source]
class test.test_ftplib.TestFTPClass(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_data(received, expected)[source]
setUp()[source]
tearDown()[source]
test_abort()[source]
test_acct()[source]
test_all_errors()[source]
test_cwd()[source]
test_delete()[source]
test_dir()[source]
test_exceptions()[source]
test_getwelcome()[source]
test_line_too_long()[source]
test_login()[source]
test_makepasv()[source]
test_makeport()[source]
test_mkd()[source]
test_mlsd()[source]
test_nlst()[source]
test_parse257()[source]
test_pwd()[source]
test_quit()[source]
test_rename()[source]
test_retrbinary()[source]
test_retrbinary_rest()[source]
test_retrlines()[source]
test_retrlines_too_long()[source]
test_rmd()[source]
test_sanitize()[source]
test_set_pasv()[source]
test_size()[source]
test_source_address()[source]
test_source_address_passive_connection()[source]
test_storbinary()[source]
test_storbinary_rest()[source]
test_storlines()[source]
test_storlines_too_long()[source]
test_voidcmd()[source]
test_with_statement()[source]
class test.test_ftplib.TestIPv6Environment(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_af()[source]
test_makepasv()[source]
test_makeport()[source]
test_transfer()[source]
class test.test_ftplib.TestNetrcDeprecation(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_deprecation()[source]
class test.test_ftplib.TestTLS_FTPClass(methodName='runTest')[source]

Bases: unittest.case.TestCase

Specific TLS_FTP class tests.

setUp()[source]
tearDown()[source]
test_auth_issued_twice()[source]
test_auth_ssl()[source]
test_ccc()[source]
test_check_hostname()[source]
test_context()[source]
test_control_connection()[source]
test_data_connection()[source]
test_login()[source]
class test.test_ftplib.TestTLS_FTPClassMixin(methodName='runTest')[source]

Bases: test.test_ftplib.TestFTPClass

Repeat TestFTPClass tests starting the TLS layer for both control and data connections first.

setUp()[source]
class test.test_ftplib.TestTimeouts(methodName='runTest')[source]

Bases: unittest.case.TestCase

server()[source]
setUp()[source]
tearDown()[source]
testTimeoutConnect()[source]
testTimeoutDefault()[source]
testTimeoutDifferentOrder()[source]
testTimeoutDirectAccess()[source]
testTimeoutNone()[source]
testTimeoutValue()[source]
test.test_ftplib.test_main()[source]

test.test_funcattrs module

class test.test_funcattrs.ArbitraryFunctionAttrTest(methodName='runTest')[source]

Bases: test.test_funcattrs.FuncAttrsTest

test_delete_unknown_attr()[source]
test_set_attr()[source]
test_unset_attr()[source]
class test.test_funcattrs.BuiltinFunctionPropertiesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtin__qualname__()[source]
class test.test_funcattrs.CellTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_comparison()[source]
class test.test_funcattrs.FuncAttrsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

cannot_set_attr(obj, name, value, exceptions)[source]
setUp()[source]
class test.test_funcattrs.FunctionDictsTest(methodName='runTest')[source]

Bases: test.test_funcattrs.FuncAttrsTest

test_delete___dict__()[source]
test_func_as_dict_key()[source]
test_setting_dict_to_invalid()[source]
test_setting_dict_to_valid()[source]
test_unassigned_dict()[source]
class test.test_funcattrs.FunctionDocstringTest(methodName='runTest')[source]

Bases: test.test_funcattrs.FuncAttrsTest

test_delete_docstring()[source]
test_set_docstring_attr()[source]
class test.test_funcattrs.FunctionPropertiesTest(methodName='runTest')[source]

Bases: test.test_funcattrs.FuncAttrsTest

test___closure__()[source]
test___code__()[source]
test___globals__()[source]
test___name__()[source]
test___qualname__()[source]
test_blank_func_defaults()[source]
test_copying___code__()[source]
test_dir_includes_correct_attrs()[source]
test_duplicate_function_equality()[source]
test_empty_cell()[source]
test_func_default_args()[source]
test_module()[source]
class test.test_funcattrs.InstancemethodAttrTest(methodName='runTest')[source]

Bases: test.test_funcattrs.FuncAttrsTest

test___class__()[source]
test___func__()[source]
test___func___non_method()[source]
test___self__()[source]
class test.test_funcattrs.StaticMethodAttrsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_func_attribute()[source]
test.test_funcattrs.cell(value)[source]

Create a cell containing the given value.

test.test_funcattrs.empty_cell(empty=True)[source]

Create an empty cell.

test.test_funcattrs.global_function()[source]
test.test_funcattrs.test_main()[source]

test.test_functools module

class test.test_functools.PartialSubclass[source]

Bases: functools.partial

class test.test_functools.TestCmpToKey[source]

Bases: object

test_bad_cmp()[source]
test_cmp_to_key()[source]
test_cmp_to_key_arguments()[source]
test_hash()[source]
test_obj_field()[source]
test_sort_int()[source]
test_sort_int_str()[source]
class test.test_functools.TestCmpToKeyC(methodName='runTest')[source]

Bases: test.test_functools.TestCmpToKey, unittest.case.TestCase

cmp_to_key()

Convert a cmp= function into a key= function.

class test.test_functools.TestCmpToKeyPy(methodName='runTest')[source]

Bases: test.test_functools.TestCmpToKey, unittest.case.TestCase

static cmp_to_key(mycmp)

Convert a cmp= function into a key= function

class test.test_functools.TestLRU(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_early_detection_of_bad_call()[source]
test_lru()[source]
test_lru_with_exceptions()[source]
test_lru_with_keyword_args()[source]
test_lru_with_keyword_args_maxsize_none()[source]
test_lru_with_maxsize_none()[source]
test_lru_with_types()[source]
test_need_for_rlock()[source]
class test.test_functools.TestPartial[source]

Bases: object

test_arg_combinations()[source]
test_argument_checking()[source]
test_attributes()[source]
test_basic_examples()[source]
test_error_propagation()[source]
test_keyword()[source]
test_kw_combinations()[source]
test_no_side_effects()[source]
test_positional()[source]
test_protection_of_callers_dict_argument()[source]
test_weakref()[source]
test_with_bound_and_unbound_methods()[source]
class test.test_functools.TestPartialC(methodName='runTest')[source]

Bases: test.test_functools.TestPartial, unittest.case.TestCase

class partial

Bases: object

partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords.

args

tuple of arguments to future partial calls

func

function object to use in future partial calls

keywords

dictionary of keyword arguments to future partial calls

TestPartialC.test_attributes_unwritable()[source]
TestPartialC.test_pickle()[source]
TestPartialC.test_repr()[source]
TestPartialC.test_setstate_refcount()[source]
class test.test_functools.TestPartialCSubclass(methodName='runTest')[source]

Bases: test.test_functools.TestPartialC

partial

alias of PartialSubclass

class test.test_functools.TestPartialMethod(methodName='runTest')[source]

Bases: unittest.case.TestCase

class A[source]

Bases: object

both()
cls = functools.partial(<bound method type.capture of <class 'test.test_functools.TestPartialMethod.A'>>, d=9)
keywords()
nested()
nothing()
over_partial()
positional()
static = functools.partial(<function capture at 0x20287078>, 8)
TestPartialMethod.a = <test.test_functools.TestPartialMethod.A object at 0x20296C50>
TestPartialMethod.test_abstract()[source]
TestPartialMethod.test_arg_combinations()[source]
TestPartialMethod.test_bound_method_introspection()[source]
TestPartialMethod.test_descriptors()[source]
TestPartialMethod.test_invalid_args()[source]
TestPartialMethod.test_nested()[source]
TestPartialMethod.test_over_partial()[source]
TestPartialMethod.test_overriding_keywords()[source]
TestPartialMethod.test_repr()[source]
TestPartialMethod.test_unbound_method_retrieval()[source]
class test.test_functools.TestPartialPy(methodName='runTest')[source]

Bases: test.test_functools.TestPartial, unittest.case.TestCase

static partial(func, *args, **keywords)

New function with partial application of the given arguments and keywords.

class test.test_functools.TestReduce(methodName='runTest')[source]

Bases: unittest.case.TestCase

func()

reduce(function, sequence[, initial]) -> value

Apply a function of two arguments cumulatively to the items of a sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty.

test_iterator_usage()[source]
test_reduce()[source]
class test.test_functools.TestSingleDispatch(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_c3_abc()[source]
test_c_classes()[source]
test_cache_invalidation()[source]
test_compose_mro()[source]
test_mro()[source]
test_mro_conflicts()[source]
test_register_abc()[source]
test_register_decorator()[source]
test_simple_overloads()[source]
test_wrapping_attributes()[source]
class test.test_functools.TestTotalOrdering(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_no_operations_defined()[source]
test_total_ordering_ge()[source]
test_total_ordering_gt()[source]
test_total_ordering_le()[source]
test_total_ordering_lt()[source]
test_total_ordering_no_overwrite()[source]
test_type_error_when_not_implemented()[source]
class test.test_functools.TestUpdateWrapper(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_wrapper(wrapper, wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__', ))[source]
test_builtin_update()[source]
test_default_update()[source]
test_default_update_doc()[source]
test_missing_attributes()[source]
test_no_update()[source]
test_selective_update()[source]
class test.test_functools.TestWraps(methodName='runTest')[source]

Bases: test.test_functools.TestUpdateWrapper

test_default_update()[source]
test_default_update_doc()[source]
test_no_update()[source]
test_selective_update()[source]
test.test_functools.capture(*args, **kw)[source]

capture all positional and keyword arguments

test.test_functools.signature(part)[source]

return the signature of a partial object

test.test_functools.test_main(verbose=None)[source]

test.test_future module

class test.test_future.FutureTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_badfuture10()[source]
test_badfuture3()[source]
test_badfuture4()[source]
test_badfuture5()[source]
test_badfuture6()[source]
test_badfuture7()[source]
test_badfuture8()[source]
test_badfuture9()[source]
test_future1()[source]
test_future2()[source]
test_future3()[source]
test_multiple_features()[source]
test_parserhack()[source]
test_unicode_literals_exec()[source]
test.test_future.get_error_location(msg)[source]

test.test_future3 module

class test.test_future3.TestFuture(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_floor_div_operator()[source]
test_nested_scopes()[source]
test_true_div_as_default()[source]
test.test_future3.nester()[source]

test.test_future4 module

test.test_future5 module

class test.test_future5.TestMultipleFeatures(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_print_function()[source]
test_unicode_literals()[source]

test.test_gc module

class test.test_gc.C1055820(i)[source]

Bases: object

class test.test_gc.GCCallbackTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

cb1(phase, info)[source]
cb2(phase, info)[source]
preclean()[source]
setUp()[source]
tearDown()[source]
test_collect()[source]
test_collect_garbage()[source]
test_collect_generation()[source]
class test.test_gc.GCTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_boom()[source]
test_boom2()[source]
test_boom2_new()[source]
test_boom_new()[source]
test_bug1055820b()[source]
test_bug21435()[source]
test_class()[source]
test_collect_generations()[source]
test_del()[source]
test_del_newclass()[source]
test_dict()[source]
test_frame()[source]
test_function()[source]
test_garbage_at_shutdown()[source]
test_gc_main_module_at_shutdown()[source]
test_gc_ordinary_module_at_shutdown()[source]
test_get_count()[source]
test_get_referents()[source]
test_get_stats()[source]
test_instance()[source]
test_is_tracked()[source]
test_legacy_finalizer()[source]
test_legacy_finalizer_newclass()[source]
test_list()[source]
test_method()[source]
test_newinstance()[source]
test_newstyleclass()[source]
test_saveall()[source]
test_trashcan()[source]
test_trashcan_threads()[source]
test_tuple()[source]
class test.test_gc.GCTogglingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_bug1055820c()[source]
test_bug1055820d()[source]
class test.test_gc.GC_Detector[source]

Bases: object

class test.test_gc.Uncollectable(partner=None)[source]

Bases: object

Create a reference cycle with multiple __del__ methods.

An object in a reference cycle will never have zero references, and so must be garbage collected. If one or more objects in the cycle have __del__ methods, the gc refuses to guess an order, and leaves the cycle uncollected.

test.test_gc.test_main()[source]

test.test_gdb module

test.test_generators module

class test.test_generators.FinalizationTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_frame_resurrect()[source]
test_refcycle()[source]
class test.test_generators.Knights(m, n, hard=0)[source]

Bases: object

coords2index(i, j)[source]
index2coords(index)[source]
printsolution(x)[source]
solve()[source]
class test.test_generators.Queens(n)[source]

Bases: object

printsolution(row2col)[source]
solve()[source]
test.test_generators.conjoin(gs)[source]
test.test_generators.flat_conjoin(gs)[source]
test.test_generators.simple_conjoin(gs)[source]
test.test_generators.test_main(verbose=None)[source]

test.test_genericpath module

Tests common to genericpath, macpath, ntpath and posixpath

class test.test_genericpath.CommonTest[source]

Bases: test.test_genericpath.GenericTest

common_attributes = ['commonprefix', 'getsize', 'getatime', 'getctime', 'getmtime', 'exists', 'isdir', 'isfile', 'curdir', 'pardir', 'extsep', 'sep', 'pathsep', 'defpath', 'altsep', 'devnull', 'normcase', 'splitdrive', 'expandvars', 'normpath', 'abspath', 'join', 'split', 'splitext', 'isabs', 'basename', 'dirname', 'lexists', 'islink', 'ismount', 'expanduser', 'normpath', 'realpath']
test_abspath()[source]
test_abspath_issue3426()[source]
test_expandvars()[source]
test_expandvars_nonascii()[source]
test_nonascii_abspath()[source]
test_normcase()[source]
test_normpath_issue5827()[source]
test_realpath()[source]
test_splitdrive()[source]
class test.test_genericpath.GenericTest[source]

Bases: object

attributes = []
common_attributes = ['commonprefix', 'getsize', 'getatime', 'getctime', 'getmtime', 'exists', 'isdir', 'isfile']
test_commonprefix()[source]
test_exists()[source]
test_exists_fd()[source]
test_getsize()[source]
test_isdir()[source]
test_isfile()[source]
test_no_argument()[source]
test_samefile()[source]
test_sameopenfile()[source]
test_samestat()[source]
test_time()[source]
class test.test_genericpath.TestGenericTest(methodName='runTest')[source]

Bases: test.test_genericpath.GenericTest, unittest.case.TestCase

pathmodule = <module 'genericpath' from 'C:\\Python34\\lib\\genericpath.py'>
test.test_genericpath.safe_rmdir(dirname)[source]

test.test_genexps module

test.test_genexps.test_main(verbose=None)[source]

test.test_getargs2 module

class test.test_getargs2.BadInt[source]

Bases: object

class test.test_getargs2.BadInt2[source]

Bases: object

class test.test_getargs2.BadInt3[source]

Bases: int

class test.test_getargs2.Boolean_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_p()[source]
class test.test_getargs2.Bytes_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_c()[source]
test_s()[source]
test_s_hash()[source]
test_s_star()[source]
test_w_star()[source]
test_y()[source]
test_y_hash()[source]
test_y_star()[source]
test_z()[source]
test_z_hash()[source]
test_z_star()[source]
class test.test_getargs2.Int[source]

Bases: object

class test.test_getargs2.IntSubclass[source]

Bases: int

class test.test_getargs2.KeywordOnly_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_invalid_keyword()[source]
test_keyword_args()[source]
test_mixed_args()[source]
test_optional_args()[source]
test_positional_args()[source]
test_required_args()[source]
test_surrogate_keyword()[source]
test_too_many_args()[source]
class test.test_getargs2.Keywords_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_invalid_keyword()[source]
test_keyword_args()[source]
test_mixed_args()[source]
test_optional_args()[source]
test_positional_args()[source]
test_required_args()[source]
test_surrogate_keyword()[source]
test_too_many_args()[source]
class test.test_getargs2.LongLong_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_K()[source]
test_L()[source]
class test.test_getargs2.Paradox[source]

Bases: object

This statement is false.

class test.test_getargs2.Signed_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_h()[source]
test_i()[source]
test_l()[source]
test_n()[source]
class test.test_getargs2.Tuple_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_tuple()[source]
class test.test_getargs2.Unicode_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_Z()[source]
test_Z_hash()[source]
test_u()[source]
test_u_hash()[source]
class test.test_getargs2.Unsigned_TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_B()[source]
test_H()[source]
test_I()[source]
test_b()[source]
test_k()[source]

test.test_getopt module

class test.test_getopt.GetoptTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertError(*args, **kwargs)[source]
setUp()[source]
tearDown()[source]
test_do_longs()[source]
test_do_shorts()[source]
test_getopt()[source]
test_gnu_getopt()[source]
test_issue4629()[source]
test_libref_examples()[source]
test_long_has_args()[source]
test_short_has_arg()[source]
test.test_getopt.test_main()[source]

test.test_getpass module

class test.test_getpass.GetpassGetuserTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_username_falls_back_to_pwd(environ)[source]
test_username_priorities_of_env_values(environ)[source]
test_username_takes_username_from_env(environ)[source]
class test.test_getpass.GetpassRawinputTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_flushes_stream_after_prompt()[source]
test_raises_on_empty_input()[source]
test_trims_trailing_newline()[source]
test_uses_stderr_as_default()[source]
test_uses_stdin_as_default_input(mock_input)[source]
test_uses_stdin_as_different_locale(mock_input)[source]
class test.test_getpass.UnixGetpassTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_falls_back_to_fallback_if_termios_raises()[source]
test_falls_back_to_stdin()[source]
test_flushes_stream_after_input()[source]
test_resets_termios()[source]
test_uses_tty_directly()[source]

test.test_gettext module

class test.test_gettext.DummyGNUTranslations(fp=None)[source]

Bases: gettext.GNUTranslations

foo()[source]
class test.test_gettext.GettextBaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_gettext.GettextCacheTestCase(methodName='runTest')[source]

Bases: test.test_gettext.GettextBaseTest

test_cache()[source]
class test.test_gettext.GettextTestCase1(methodName='runTest')[source]

Bases: test.test_gettext.GettextBaseTest

setUp()[source]
test_double_quotes()[source]
test_multiline_strings()[source]
test_some_translations()[source]
test_the_alternative_interface()[source]
test_triple_double_quotes()[source]
test_triple_single_quotes()[source]
class test.test_gettext.GettextTestCase2(methodName='runTest')[source]

Bases: test.test_gettext.GettextBaseTest

setUp()[source]
test_bindtextdomain()[source]
test_double_quotes()[source]
test_multiline_strings()[source]
test_some_translations()[source]
test_textdomain()[source]
test_triple_double_quotes()[source]
test_triple_single_quotes()[source]
class test.test_gettext.PluralFormsTestCase(methodName='runTest')[source]

Bases: test.test_gettext.GettextBaseTest

setUp()[source]
test_de()[source]
test_fr()[source]
test_gd()[source]
test_gd2()[source]
test_hu()[source]
test_lt()[source]
test_pl()[source]
test_plural_forms1()[source]
test_plural_forms2()[source]
test_ru()[source]
test_security()[source]
test_sl()[source]
class test.test_gettext.UnicodeTranslationsTest(methodName='runTest')[source]

Bases: test.test_gettext.GettextBaseTest

setUp()[source]
test_unicode_msgid()[source]
test_unicode_msgstr()[source]
class test.test_gettext.WeirdMetadataTest(methodName='runTest')[source]

Bases: test.test_gettext.GettextBaseTest

setUp()[source]
test_weird_metadata()[source]
test.test_gettext.test_main()[source]

test.test_glob module

class test.test_glob.GlobTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertSequencesEqual_noorder(l1, l2)[source]
check_escape(arg, expected)[source]
glob(*parts)[source]
mktemp(*parts)[source]
norm(*parts)[source]
setUp()[source]
tearDown()[source]
test_escape()[source]
test_escape_windows()[source]
test_glob_bytes_directory_with_trailing_slash()[source]
test_glob_directory_names()[source]
test_glob_directory_with_trailing_slash()[source]
test_glob_literal()[source]
test_glob_magic_in_drive()[source]
test_glob_nested_directory()[source]
test_glob_one_directory()[source]
test.test_glob.test_main()[source]

test.test_global module

Verify that warnings are issued for global statements following use.

class test.test_global.GlobalTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test1()[source]
test2()[source]
test3()[source]
test4()[source]
test.test_global.test_main()[source]

test.test_grammar module

class test.test_grammar.GrammarTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

testAssert2()[source]
test_additive_ops()[source]
test_assert()[source]
test_atoms()[source]
test_binary_mask_ops()[source]
test_break_continue_loop()[source]
test_break_stmt()[source]
test_classdef()[source]
test_comparison()[source]
test_comprehension_specials()[source]
test_continue_stmt()[source]
test_del_stmt()[source]
test_dictcomps()[source]
test_eval_input()[source]
test_expr_stmt()[source]
test_for()[source]
test_former_statements_refer_to_builtins()[source]
test_funcdef()[source]
test_genexps()[source]
test_global()[source]
test_if()[source]
test_if_else_expr()[source]
test_import()[source]
test_lambdef()[source]
test_listcomps()[source]
test_multiplicative_ops()[source]
test_nonlocal()[source]
test_paren_evaluation()[source]
test_pass_stmt()[source]
test_raise()[source]
test_return()[source]
test_selectors()[source]
test_shift_ops()[source]
test_simple_stmt()[source]
test_suite()[source]
test_test()[source]
test_try()[source]
test_unary_ops()[source]
test_while()[source]
test_with_statement()[source]
test_yield()[source]
class test.test_grammar.TokenTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_backslash()[source]
test_ellipsis()[source]
test_eof_error()[source]
test_float_exponent_tokenization()[source]
test_floats()[source]
test_long_integers()[source]
test_plain_integers()[source]
test_string_literals()[source]
test.test_grammar.test_main()[source]

test.test_grp module

test.test_gzip module

Test script for the gzip module.

class test.test_gzip.BaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

filename = '@test_6476_tmp'
setUp()[source]
tearDown()[source]
class test.test_gzip.TestGzip(methodName='runTest')[source]

Bases: test.test_gzip.BaseTest

test_1647484()[source]
test_append()[source]
test_buffered_reader()[source]
test_bytes_filename()[source]
test_compress()[source]
test_decompress()[source]
test_exclusive_write()[source]
test_fileobj_from_fdopen()[source]
test_io_on_closed_object()[source]
test_many_append()[source]
test_metadata()[source]
test_mode()[source]
test_mtime()[source]
test_non_seekable_file()[source]
test_paddedfile_getattr()[source]
test_peek()[source]
test_prepend_error()[source]
test_read()[source]
test_read1()[source]
test_read_truncated()[source]
test_read_with_extra()[source]
test_readline()[source]
test_readlines()[source]
test_seek_read()[source]
test_seek_whence()[source]
test_seek_write()[source]
test_textio_readlines()[source]
test_with_open()[source]
test_write()[source]
test_zero_padded_file()[source]
class test.test_gzip.TestOpen(methodName='runTest')[source]

Bases: test.test_gzip.BaseTest

test_bad_params()[source]
test_binary_modes()[source]
test_encoding()[source]
test_encoding_error_handler()[source]
test_fileobj()[source]
test_implicit_binary_modes()[source]
test_newline()[source]
test_text_modes()[source]
class test.test_gzip.UnseekableIO[source]

Bases: _io.BytesIO

seek(*args)[source]
seekable()[source]
tell()[source]
test.test_gzip.test_main(verbose=None)[source]

test.test_hash module

class test.test_hash.BytesHashRandomizationTests(methodName='runTest')[source]

Bases: test.test_hash.StringlikeHashRandomizationTests, unittest.case.TestCase

repr_ = "b'abc'"
repr_long = "b'abcdefghijk'"
test_empty_string()[source]
class test.test_hash.DatetimeDateTests(methodName='runTest')[source]

Bases: test.test_hash.DatetimeTests, unittest.case.TestCase

repr_ = 'datetime.date(1066, 10, 14)'
class test.test_hash.DatetimeDatetimeTests(methodName='runTest')[source]

Bases: test.test_hash.DatetimeTests, unittest.case.TestCase

repr_ = 'datetime.datetime(1, 2, 3, 4, 5, 6, 7)'
class test.test_hash.DatetimeTests[source]

Bases: test.test_hash.HashRandomizationTests

get_hash_command(repr_)[source]
class test.test_hash.DatetimeTimeTests(methodName='runTest')[source]

Bases: test.test_hash.DatetimeTests, unittest.case.TestCase

repr_ = 'datetime.time(0, 0)'
class test.test_hash.DefaultHash[source]

Bases: object

class test.test_hash.DefaultIterSeq[source]

Bases: object

seq = range(0, 10)
class test.test_hash.FixedHash[source]

Bases: object

class test.test_hash.HashBuiltinsTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

hashes_to_check = [<enumerate object at 0x20CAA260>, <iterator object at 0x20CB1130>, <callable_iterator object at 0x20CB1150>]
test_hashes()[source]
class test.test_hash.HashDistributionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_hash_distribution()[source]
class test.test_hash.HashEqualityTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

same_hash(*objlist)[source]
test_coerced_floats()[source]
test_coerced_integers()[source]
test_numeric_literals()[source]
test_unaligned_buffers()[source]
class test.test_hash.HashInheritanceTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

default_expected = [<object object at 0x200E9CE0>, <test.test_hash.DefaultHash object at 0x20CA2FB0>, <test.test_hash.OnlyInequality object at 0x20CA2FD0>]
error_expected = [<test.test_hash.NoHash object at 0x20CB1070>, <test.test_hash.OnlyEquality object at 0x20CB1090>]
fixed_expected = [<test.test_hash.FixedHash object at 0x20CA2FF0>, <test.test_hash.InheritedHashWithEquality object at 0x20CB1030>, <test.test_hash.InheritedHashWithInequality object at 0x20CB1050>]
test_default_hash()[source]
test_error_hash()[source]
test_fixed_hash()[source]
test_hashable()[source]
test_not_hashable()[source]
class test.test_hash.HashRandomizationTests[source]

Bases: object

get_hash(repr_, seed=None)[source]
get_hash_command(repr_)[source]
test_randomized_hash()[source]
class test.test_hash.InheritedHashWithEquality[source]

Bases: test.test_hash.FixedHash, test.test_hash.OnlyEquality

class test.test_hash.InheritedHashWithInequality[source]

Bases: test.test_hash.FixedHash, test.test_hash.OnlyInequality

class test.test_hash.MemoryviewHashRandomizationTests(methodName='runTest')[source]

Bases: test.test_hash.StringlikeHashRandomizationTests, unittest.case.TestCase

repr_ = "memoryview(b'abc')"
repr_long = "memoryview(b'abcdefghijk')"
test_empty_string()[source]
class test.test_hash.NoHash[source]

Bases: object

class test.test_hash.OnlyEquality[source]

Bases: object

class test.test_hash.OnlyInequality[source]

Bases: object

class test.test_hash.StrHashRandomizationTests(methodName='runTest')[source]

Bases: test.test_hash.StringlikeHashRandomizationTests, unittest.case.TestCase

repr_ = "'abc'"
repr_long = "'abcdefghijk'"
repr_ucs2 = "'äú∑ℇ'"
test_empty_string()[source]
test_ucs2_string()[source]
class test.test_hash.StringlikeHashRandomizationTests[source]

Bases: test.test_hash.HashRandomizationTests

get_expected_hash(position, length)[source]
known_hashes = {'djba33x': [[193485960, 193485960, 193485960, 193485960], [-678966196, 573763426263223372, -820489388, -4282905804826039665]], 'siphash24': [[1198583518, 4596069200710135518, 1198583518, 4596069200710135518], [273876886, -4501618152524544106, 273876886, -4501618152524544106], [-1745215313, 4436719588892876975, -1745215313, 4436719588892876975], [493570806, 5749986484189612790, -1006381564, -5915111450199468540], [-1677110816, -2947981342227738144, -1860207793, -4296699217652516017]], 'fnv': [[-1600925533, 1453079729188098211, -1600925533, 1453079729188098211], [-206076799, -4410911502303878509, -1024014457, -3570150969479994130], [811136751, -5046230049376118746, -77208053, -4779029615281019666], [44402817, 8998297579845987431, -1956240331, -782697888614047887], [-283066365, -4576729883824601543, -271871407, -3927695501187247084]]}
repr_ = None
repr_long = None
test_fixed_hash()[source]
test_long_fixed_hash()[source]
test_null_hash()[source]
test.test_hash.lcg(x, length=16)[source]

Linear congruential generator

test.test_hash.pysiphash(uint64)[source]

Convert SipHash24 output to Py_hash_t

test.test_hash.skip_unless_internalhash(test)[source]

Skip decorator for tests that depend on SipHash24 or FNV

test.test_hashlib module

class test.test_hashlib.HashLibTestCase(*args, **kwargs)[source]

Bases: unittest.case.TestCase

check(name, data, hexdigest)[source]
check_blocksize_name(name, block_size=0, digest_size=0)[source]
check_no_unicode(algorithm_name)[source]
hash_constructors
supported_hash_names = ('md5', 'MD5', 'sha1', 'SHA1', 'sha224', 'SHA224', 'sha256', 'SHA256', 'sha384', 'SHA384', 'sha512', 'SHA512')
test_algorithms_available()[source]
test_algorithms_guaranteed()[source]
test_blocksize_name()[source]
test_case_md5_0()[source]
test_case_md5_1()[source]
test_case_md5_2()[source]
test_case_md5_huge()
test_case_md5_uintmax()
test_case_sha1_0()[source]
test_case_sha1_1()[source]
test_case_sha1_2()[source]
test_case_sha1_3()[source]
test_case_sha224_0()[source]
test_case_sha224_1()[source]
test_case_sha224_2()[source]
test_case_sha224_3()[source]
test_case_sha256_0()[source]
test_case_sha256_1()[source]
test_case_sha256_2()[source]
test_case_sha256_3()[source]
test_case_sha384_0()[source]
test_case_sha384_1()[source]
test_case_sha384_2()[source]
test_case_sha384_3()[source]
test_case_sha3_224_huge()
test_case_sha512_0()[source]
test_case_sha512_1()[source]
test_case_sha512_2()[source]
test_case_sha512_3()[source]
test_get_builtin_constructor()[source]
test_gil()[source]
test_hash_array()[source]
test_hexdigest()[source]
test_large_update()[source]
test_name_attribute()[source]
test_no_unicode()[source]
test_threaded_hashing()[source]
test_unknown_hash()[source]
class test.test_hashlib.KDFTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

pbkdf2_results = {'sha512': [(b'\x86\x7fp\xcf\x1a\xde\x02\xcf\xf3u%\x99\xa3\xa5=\xc4\xaf4\xc7\xa6i\x81Z\xe5\xd5\x13UN\x1c\x8c\xf2R\xc0-G\n(Z\x05\x01\xba\xd9\x99\xbf\xe9C\xc0\x8f\x05\x025\xd7\xd6\x8b\x1d\xa5^c\xf7;`\xa5\x7f\xce', None), (b"\xe1\xd9\xc1j\xa6\x81p\x8aE\xf5\xc7\xc4\xe2\x15\xce\xb6n\x01\x1a.\x9f\x00@q?\x18\xae\xfd\xb8f\xd5<\xf7l\xab(h\xa3\x9b\x9fx@\xed\xceO\xefZ\x82\xbeg3\\w\xa6\x06\x8e\x04\x11'T\xf2|\xcfN", None), (b'\xd1\x97\xb1\xb3=\xb0\x14>\x01\x8b\x12\xf3\xd1\xd1G\x9el\xde\xbd\xcc\x97\xc5\xc0\xf8\x7fi\x02\xe0r\xf4W\xb5\x14?0`&A\xb3\xd5\\\xd35\x98\x8c\xb3k\x847``\xec\xd52\xe09\xb7B\xa29CJ\xf2\xd5', None), (b'\x8c\x05\x11\xf4\xc6\xe5\x97\xc6\xacc\x15\xd8\xf06."_<P\x14\x95\xba#\xb8h\xc0\x05\x17M\xc4\xeeq\x11[Y\xf9\xe6\x0c\xd9S/\xa3>\x0fu\xae\xfe0"\\X:\x18l\xd8+\xd4\xda\xea\x97$\xa3\xd3\xb8', 64), (b'\x9d\x9e\x9cL\xd2\x1f\xe4\xbe$\xd5\xb8$Lu\x96e', None)], 'sha1': [(b'\x0c`\xc8\x0f\x96\x1f\x0eq\xf3\xa9\xb5$\xaf`\x12\x06/\xe07\xa6', None), (b'\xeal\x01M\xc7-o\x8c\xcd\x1e\xd9*\xce\x1dA\xf0\xd8\xde\x89W', None), (b'K\x00y\x01\xb7eH\x9a\xbe\xadI\xd9&\xf7!\xd0e\xa4)\xc1', None), (b'=.\xecO\xe4\x1c\x84\x9b\x80\xc8\xd86b\xc0\xe4J\x8b)\x1a\x96L\xf2\xf0p8', 25), (b'V\xfaj\xa7UH\t\x9d\xcc7\xd7\xf04%\xe0\xc3', None)], 'sha256': [(b'\x12\x0f\xb6\xcf\xfc\xf8\xb3,C\xe7"RV\xc4\xf87\xa8eH\xc9,\xcc5H\x08\x05\x98|\xb7\x0b\xe1{', None), (b'\xaeM\x0c\x95\xafkF\xd3-\n\xdf\xf9(\xf0m\xd0*0?\x8e\xf3\xc2Q\xdf\xd6\xe2\xd8Z\x95GLC', None), (b'\xc5\xe4x\xd5\x92\x88\xc8A\xaaS\r\xb6\x84\\L\x8d\x96(\x93\xa0\x01\xceN\x11\xa4\x968s\xaa\x98\x13J', None), (b'4\x8c\x89\xdb\xcb\xd3+/2\xd8\x14\xb8\x11n\x84\xcf+\x174~\xbc\x18\x00\x18\x1cN*\x1f\xb8\xddS\xe1\xc65Q\x8c}\xacG\xe9', 40), (b'\x89\xb6\x9d\x05\x16\xf8)\x89<ib&e\n\x86\x87', None)]}
pbkdf2_test_vectors = [(b'password', b'salt', 1, None), (b'password', b'salt', 2, None), (b'password', b'salt', 4096, None), (b'passwordPASSWORDpassword', b'saltSALTsaltSALTsaltSALTsaltSALTsalt', 4096, -1), (b'pass\x00word', b'sa\x00lt', 4096, 16)]
test_pbkdf2_hmac_c()[source]
test_pbkdf2_hmac_py()[source]
test.test_hashlib.hexstr(s)[source]

test.test_heapq module

Unittests for heapq.

class test.test_heapq.CmpErr[source]

Bases: object

Dummy element that always raises an error during comparison

class test.test_heapq.E(seqn)[source]

Bases: object

Test propagation of exceptions

class test.test_heapq.G(seqn)[source]

Bases: object

Sequence using __getitem__

class test.test_heapq.GetOnly[source]

Bases: object

Dummy sequence class defining __getitem__ but not __len__.

class test.test_heapq.I(seqn)[source]

Bases: object

Sequence using iterator protocol

class test.test_heapq.Ig(seqn)[source]

Bases: object

Sequence using iterator protocol defined with a generator

test.test_heapq.L(seqn)[source]

Test multiple tiers of iterators

class test.test_heapq.LenOnly[source]

Bases: object

Dummy sequence class defining __len__ but not __getitem__.

class test.test_heapq.N(seqn)[source]

Bases: object

Iterator missing __next__()

test.test_heapq.R(seqn)[source]

Regular generator

class test.test_heapq.S(seqn)[source]

Bases: object

Test immediate stop

class test.test_heapq.SideEffectLT(value, heap)[source]

Bases: object

class test.test_heapq.TestErrorHandling[source]

Bases: object

test_arg_parsing()[source]
test_get_only()[source]
test_heappop_mutating_heap()[source]
test_heappush_mutating_heap()[source]
test_iterable_args()[source]
test_len_only()[source]
test_non_sequence()[source]
class test.test_heapq.TestErrorHandlingC(methodName='runTest')[source]

Bases: test.test_heapq.TestErrorHandling, unittest.case.TestCase

module = <module 'heapq' from 'C:\\Python34\\lib\\heapq.py'>
class test.test_heapq.TestErrorHandlingPython(methodName='runTest')[source]

Bases: test.test_heapq.TestErrorHandling, unittest.case.TestCase

module = <module 'heapq' from 'C:\\Python34\\lib\\heapq.py'>
class test.test_heapq.TestHeap[source]

Bases: object

check_invariant(heap)[source]
heapiter(heap)[source]
test_comparison_operator()[source]
test_heapify()[source]
test_heappushpop()[source]
test_heapsort()[source]
test_merge()[source]
test_merge_does_not_suppress_index_error()[source]
test_merge_stability()[source]
test_naive_nbest()[source]
test_nbest()[source]
test_nbest_with_pushpop()[source]
test_nlargest()[source]
test_nsmallest()[source]
test_push_pop()[source]
class test.test_heapq.TestHeapC(methodName='runTest')[source]

Bases: test.test_heapq.TestHeap, unittest.case.TestCase

module = <module 'heapq' from 'C:\\Python34\\lib\\heapq.py'>
class test.test_heapq.TestHeapPython(methodName='runTest')[source]

Bases: test.test_heapq.TestHeap, unittest.case.TestCase

module = <module 'heapq' from 'C:\\Python34\\lib\\heapq.py'>
class test.test_heapq.TestModules(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_c_functions()[source]
test_py_functions()[source]
class test.test_heapq.X(seqn)[source]

Bases: object

Missing __getitem__ and __iter__

test.test_hmac module

class test.test_hmac.CompareDigestTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_compare_digest()[source]
class test.test_hmac.ConstructorTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_dot_new_with_str_key()[source]
test_normal()[source]
test_with_bytearray()[source]
test_with_memoryview_msg()[source]
test_with_str_key()[source]
test_withmodule()[source]
test_withtext()[source]
class test.test_hmac.CopyTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_attributes()[source]
test_equality()[source]
test_realcopy()[source]
class test.test_hmac.SanityTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_default_is_md5()[source]
test_exercise_all_methods()[source]
class test.test_hmac.TestVectorsTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_legacy_block_size_warnings()[source]
test_md5_vectors()[source]
test_sha224_rfc4231()[source]
test_sha256_rfc4231()[source]
test_sha384_rfc4231()[source]
test_sha512_rfc4231()[source]
test_sha_vectors()[source]
test_with_digestmod_warning()[source]
test.test_hmac.ignore_warning(func)[source]
test.test_hmac.test_main()[source]

test.test_html module

Tests for the html module functions.

class test.test_html.HtmlTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_escape()[source]
test_unescape()[source]

test.test_htmlparser module

Tests for HTMLParser.py.

class test.test_htmlparser.AttributesStrictTestCase(methodName='runTest')[source]

Bases: test.test_htmlparser.TestCaseBase

get_collector()[source]
test_attr_entity_replacement()[source]
test_attr_funky_names()[source]
test_attr_nonascii()[source]
test_attr_syntax()[source]
test_attr_values()[source]
test_entityrefs_in_attributes()[source]
class test.test_htmlparser.AttributesTolerantTestCase(methodName='runTest')[source]

Bases: test.test_htmlparser.AttributesStrictTestCase

get_collector()[source]
test_adjacent_attributes()[source]
test_attr_funky_names2()[source]
test_end_tag_in_attribute_value()[source]
test_entities_in_attribute_value()[source]
test_javascript_attribute_value()[source]
test_malformed_adjacent_attributes()[source]
test_malformed_attributes()[source]
test_missing_attribute_value()[source]
class test.test_htmlparser.EventCollector(*args, **kw)[source]

Bases: html.parser.HTMLParser

get_events()[source]
handle_charref(data)[source]
handle_comment(data)[source]
handle_data(data)[source]
handle_decl(data)[source]
handle_endtag(tag)[source]
handle_entityref(data)[source]
handle_pi(data)[source]
handle_startendtag(tag, attrs)[source]
handle_starttag(tag, attrs)[source]
unknown_decl(decl)[source]
class test.test_htmlparser.EventCollectorCharrefs(*args, **kw)[source]

Bases: test.test_htmlparser.EventCollector

get_events()[source]
handle_charref(data)[source]
handle_entityref(data)[source]
class test.test_htmlparser.EventCollectorExtra(*args, **kw)[source]

Bases: test.test_htmlparser.EventCollector

handle_starttag(tag, attrs)[source]
class test.test_htmlparser.HTMLParserStrictTestCase(methodName='runTest')[source]

Bases: test.test_htmlparser.TestCaseBase

get_collector()[source]
test_bad_nesting()[source]
test_bare_ampersands()[source]
test_bare_pointy_brackets()[source]
test_buffer_artefacts()[source]
test_cdata_content()[source]
test_cdata_with_closing_tags()[source]
test_comments()[source]
test_condcoms()[source]
test_convert_charrefs()[source]
test_declaration_junk_chars()[source]
test_get_starttag_text()[source]
test_illegal_declarations()[source]
test_malformatted_charref()[source]
test_processing_instruction_only()[source]
test_simple_html()[source]
test_startendtag()[source]
test_starttag_end_boundary()[source]
test_starttag_junk_chars()[source]
test_unclosed_entityref()[source]
test_valid_doctypes()[source]
class test.test_htmlparser.HTMLParserTolerantTestCase(methodName='runTest')[source]

Bases: test.test_htmlparser.HTMLParserStrictTestCase

get_collector()[source]
test_EOF_in_charref()[source]
test_broken_comments()[source]
test_broken_condcoms()[source]
test_broken_invalid_end_tag()[source]
test_comma_between_attributes()[source]
test_correct_detection_of_start_tags()[source]
test_declaration_junk_chars()[source]
test_deprecation_warnings()[source]
test_illegal_declarations()[source]
test_invalid_end_tags()[source]
test_slashes_in_starttag()[source]
test_starttag_junk_chars()[source]
test_tolerant_parsing()[source]
test_unescape_method()[source]
test_weird_chars_in_unquoted_attribute_values()[source]
test_with_unquoted_attributes()[source]
class test.test_htmlparser.TestCaseBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

get_collector()[source]

test.test_http_cookiejar module

Tests for http/cookiejar.py.

class test.test_http_cookiejar.CookieTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_default_path()[source]
test_default_path_with_query()[source]
test_domain_allow()[source]
test_domain_block()[source]
test_domain_match()[source]
test_domain_mirror()[source]
test_domain_return_ok()[source]
test_escape_path()[source]
test_expires()[source]
test_is_HDN()[source]
test_missing_final_slash()[source]
test_missing_value()[source]
test_no_return_comment()[source]
test_ns_parser()[source]
test_ns_parser_special_names()[source]
test_parse_ns_headers()[source]
test_path_mirror()[source]
test_port_mirror()[source]
test_reach()[source]
test_request_host()[source]
test_request_path()[source]
test_request_port()[source]
test_rfc2109_handling()[source]
test_secure()[source]
test_strict_domain()[source]
test_two_component_domain_ns()[source]
test_two_component_domain_rfc2965()[source]
test_wrong_domain()[source]
class test.test_http_cookiejar.DateTimeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_http2time()[source]
test_http2time_formats()[source]
test_http2time_garbage()[source]
test_iso2time()[source]
test_iso2time_formats()[source]
test_iso2time_garbage()[source]
test_time2isoz()[source]
class test.test_http_cookiejar.FakeResponse(headers=[], url=None)[source]

Bases: object

info()[source]
class test.test_http_cookiejar.FileCookieJarTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_magic()[source]
class test.test_http_cookiejar.HeaderTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_join_header_words()[source]
test_parse_ns_headers()[source]
test_parse_ns_headers_special_names()[source]
test_parse_ns_headers_version()[source]
test_roundtrip()[source]
test_split_header_words()[source]
class test.test_http_cookiejar.LWPCookieTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_empty_path()[source]
test_ietf_example_1()[source]
test_ietf_example_2()[source]
test_intranet_domains_2965()[source]
test_intranet_domains_ns()[source]
test_mozilla()[source]
test_netscape_example_1()[source]
test_netscape_example_2()[source]
test_netscape_misc()[source]
test_rejection()[source]
test_session_cookies()[source]
test_url_encoding()[source]
test.test_http_cookiejar.interact_2965(cookiejar, url, *set_cookie_hdrs)[source]
test.test_http_cookiejar.interact_netscape(cookiejar, url, *set_cookie_hdrs)[source]
test.test_http_cookiejar.test_main(verbose=None)[source]

test.test_http_cookies module

class test.test_http_cookies.CookieTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_bad_attrs()[source]
test_basic()[source]
test_extended_encode()[source]
test_extra_spaces()[source]
test_invalid_cookies()[source]
test_load()[source]
test_quoted_meta()[source]
test_secure_httponly_false_if_not_present()[source]
test_secure_httponly_true_if_have_value()[source]
test_secure_httponly_true_if_present()[source]
test_set_secure_httponly_attrs()[source]
test_special_attrs()[source]
class test.test_http_cookies.MorselTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for the Morsel object.

test_reserved_keys()[source]
test_setter()[source]
test.test_http_cookies.test_main()[source]

test.test_httplib module

class test.test_httplib.BasicTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_status_repr()[source]
test_chunked()[source]
test_chunked_head()[source]
test_delayed_ack_opt()[source]
test_early_eof()[source]
test_epipe()[source]
test_host_port()[source]
test_incomplete_read()[source]
test_negative_content_length()[source]
test_overflowing_chunked_line()[source]
test_overflowing_header_line()[source]
test_overflowing_status_line()[source]
test_partial_readintos()[source]
test_partial_readintos_incomplete_body()[source]
test_partial_readintos_no_content_length()[source]
test_partial_reads()[source]
test_partial_reads_incomplete_body()[source]
test_partial_reads_no_content_length()[source]
test_read_head()[source]
test_readinto_chunked()[source]
test_readinto_chunked_head()[source]
test_readinto_head()[source]
test_response_headers()[source]
test_send()[source]
test_send_file()[source]
test_send_iter()[source]
test_send_type_error()[source]
test_send_updating_file()[source]
test_status_lines()[source]
test_too_many_headers()[source]
class test.test_httplib.EPipeSocket(text, pipe_trigger)[source]

Bases: test.test_httplib.FakeSocket

close()[source]
sendall(data)[source]
class test.test_httplib.FakeSocket(text, fileclass=<class '_io.BytesIO'>, host=None, port=None)[source]

Bases: object

close()[source]
makefile(mode, bufsize=None)[source]
sendall(data)[source]
class test.test_httplib.HTTPResponseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_getting_header()[source]
test_getting_header_defaultint()[source]
test_getting_nonexistent_header_with_iterable_default()[source]
test_getting_nonexistent_header_with_string_default()[source]
test_getting_nonexistent_header_without_default()[source]
class test.test_httplib.HTTPSTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

make_server(certfile)[source]
setUp()[source]
test_attributes()[source]
test_host_port()[source]
test_local_bad_hostname()[source]
test_local_good_hostname()[source]
test_networked()[source]
test_networked_bad_cert()[source]
test_networked_good_cert()[source]
class test.test_httplib.HeaderTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_auto_headers()[source]
test_content_length_0()[source]
test_ipv6host_header()[source]
test_putheader()[source]
class test.test_httplib.NoEOFBytesIO[source]

Bases: _io.BytesIO

Like BytesIO, but raises AssertionError on EOF.

This is used below to test that http.client doesn’t try to read more from the underlying file than it should.

read(n=-1)[source]
readline(length=None)[source]
class test.test_httplib.OfflineTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_responses()[source]
class test.test_httplib.RequestBodyTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test cases where a request includes a message body.

get_headers_and_fp()[source]
setUp()[source]
test_ascii_body()[source]
test_binary_file_body()[source]
test_bytes_body()[source]
test_file_body()[source]
test_latin1_body()[source]
test_manual_content_length()[source]
class test.test_httplib.SourceAddressTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
testHTTPConnectionSourceAddress()[source]
testHTTPSConnectionSourceAddress()[source]
class test.test_httplib.TimeoutTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

PORT = None
setUp()[source]
tearDown()[source]
testTimeoutAttribute()[source]
class test.test_httplib.TunnelTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_connect()[source]
test.test_httplib.test_main(verbose=None)[source]

test.test_httpservers module

Unittests for the various HTTPServer modules.

Written by Cody A.W. Somerville <cody-somerville@ubuntu.com>, Josip Dzolonga, and Michael Otteneder for the 2007/08 GHOP contest.

class test.test_httpservers.AuditableBytesIO[source]

Bases: object

getData()[source]
numWrites
write(data)[source]
class test.test_httpservers.BaseHTTPRequestHandlerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the functionality of the BaseHTTPServer.

Test the support for the Expect 100-continue header.

HTTPResponseMatch = re.compile(b'HTTP/1.[0-9]+ 200 OK')
send_typical_request(message)[source]
setUp()[source]
test_header_buffering_of_send_error()[source]
test_header_buffering_of_send_header()[source]
test_header_buffering_of_send_response_only()[source]
test_header_length()[source]
test_header_unbuffered_when_continue()[source]
test_http_0_9()[source]
test_http_1_0()[source]
test_http_1_1()[source]
test_request_length()[source]
test_with_continue_1_0()[source]
test_with_continue_1_1()[source]
test_with_continue_rejected()[source]
verify_expected_headers(headers)[source]
verify_get_called()[source]
verify_http_server_response(response)[source]
class test.test_httpservers.BaseHTTPServerTestCase(methodName='runTest')[source]

Bases: test.test_httpservers.BaseTestCase

class request_handler(request, client_address, server)[source]

Bases: test.test_httpservers.NoLogRequestHandler, http.server.BaseHTTPRequestHandler

default_request_version = 'HTTP/1.1'
do_CUSTOM()[source]
do_EXPLAINERROR()[source]
do_KEEP()[source]
do_KEYERROR()[source]
do_LATINONEHEADER()[source]
do_NOTFOUND()[source]
do_TEST()[source]
protocol_version = 'HTTP/1.1'
BaseHTTPServerTestCase.setUp()[source]
BaseHTTPServerTestCase.test_command()[source]
BaseHTTPServerTestCase.test_error_content_length()[source]
BaseHTTPServerTestCase.test_handler()[source]
BaseHTTPServerTestCase.test_head_keep_alive()[source]
BaseHTTPServerTestCase.test_header_close()[source]
BaseHTTPServerTestCase.test_internal_key_error()[source]
BaseHTTPServerTestCase.test_latin1_header()[source]
BaseHTTPServerTestCase.test_request_line_trimming()[source]
BaseHTTPServerTestCase.test_return_custom_status()[source]
BaseHTTPServerTestCase.test_return_explain_error()[source]
BaseHTTPServerTestCase.test_return_header_keep_alive()[source]
BaseHTTPServerTestCase.test_send_blank()[source]
BaseHTTPServerTestCase.test_version_bogus()[source]
BaseHTTPServerTestCase.test_version_digits()[source]
BaseHTTPServerTestCase.test_version_invalid()[source]
BaseHTTPServerTestCase.test_version_none()[source]
BaseHTTPServerTestCase.test_version_none_get()[source]
class test.test_httpservers.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

request(uri, method='GET', body=None, headers={})[source]
setUp()[source]
tearDown()[source]
class test.test_httpservers.CGIHTTPServerTestCase(methodName='runTest')[source]

Bases: test.test_httpservers.BaseTestCase

linesep = b'\r\n'
class request_handler(request, client_address, server)[source]

Bases: test.test_httpservers.NoLogRequestHandler, http.server.CGIHTTPRequestHandler

CGIHTTPServerTestCase.setUp()[source]
CGIHTTPServerTestCase.tearDown()[source]
CGIHTTPServerTestCase.test_authorization()[source]
CGIHTTPServerTestCase.test_headers_and_content()[source]
CGIHTTPServerTestCase.test_invaliduri()[source]
CGIHTTPServerTestCase.test_issue19435()[source]
CGIHTTPServerTestCase.test_nested_cgi_path_issue21323()[source]
CGIHTTPServerTestCase.test_no_leading_slash()[source]
CGIHTTPServerTestCase.test_os_environ_is_not_altered()[source]
CGIHTTPServerTestCase.test_post()[source]
CGIHTTPServerTestCase.test_url_collapse_path()[source]
CGIHTTPServerTestCase.test_urlquote_decoding_in_cgi_check()[source]
class test.test_httpservers.NoLogRequestHandler[source]

Bases: object

log_message(*args)[source]
read(n=None)[source]
class test.test_httpservers.RejectingSocketlessRequestHandler[source]

Bases: test.test_httpservers.SocketlessRequestHandler

handle_expect_100()[source]
class test.test_httpservers.SimpleHTTPRequestHandlerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test url parsing

setUp()[source]
test_query_arguments()[source]
test_start_with_double_slash()[source]
class test.test_httpservers.SimpleHTTPServerTestCase(methodName='runTest')[source]

Bases: test.test_httpservers.BaseTestCase

check_status_and_reason(response, status, data=None)[source]
class request_handler(request, client_address, server)[source]

Bases: test.test_httpservers.NoLogRequestHandler, http.server.SimpleHTTPRequestHandler

SimpleHTTPServerTestCase.setUp()[source]
SimpleHTTPServerTestCase.tearDown()[source]
SimpleHTTPServerTestCase.test_get()[source]
SimpleHTTPServerTestCase.test_head()[source]
SimpleHTTPServerTestCase.test_invalid_requests()[source]
SimpleHTTPServerTestCase.test_undecodable_filename()[source]
class test.test_httpservers.SocketlessRequestHandler[source]

Bases: http.server.SimpleHTTPRequestHandler

do_GET()[source]
log_message(format, *args)[source]
class test.test_httpservers.TestServerThread(test_object, request_handler)[source]

Bases: threading.Thread

run()[source]
stop()[source]
test.test_httpservers.test_main(verbose=None)[source]

test.test_idle module

test.test_imaplib module

class test.test_imaplib.BaseThreadedNetworkedTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

make_server(addr, hdlr)[source]
reap_server(server, thread)[source]
reaped_pair(hdlr)[source]
reaped_server(hdlr)[source]
test_bad_auth_name()[source]
test_connect()[source]
test_invalid_authentication()[source]
test_issue5949()[source]
test_line_termination()[source]
test_linetoolong()[source]
test_login_cram_md5()[source]
test_valid_authentication()[source]
class test.test_imaplib.RemoteIMAPTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

host = 'cyrus.andrew.cmu.edu'
imap_class

alias of IMAP4

password = 'pass'
port = 143
setUp()[source]
tearDown()[source]
test_logincapa()[source]
test_logout()[source]
username = 'anonymous'
class test.test_imaplib.RemoteIMAP_SSLTest(methodName='runTest')[source]

Bases: test.test_imaplib.RemoteIMAPTest

check_logincapa(server)[source]
create_ssl_context()[source]
imap_class

alias of IMAP4_SSL

port = 993
setUp()[source]
tearDown()[source]
test_logincapa()[source]
test_logincapa_with_client_certfile()[source]
test_logincapa_with_client_ssl_context()[source]
test_logout()[source]
test_ssl_context_certfile_exclusive()[source]
test_ssl_context_keyfile_exclusive()[source]
class test.test_imaplib.RemoteIMAP_STARTTLSTest(methodName='runTest')[source]

Bases: test.test_imaplib.RemoteIMAPTest

setUp()[source]
test_logincapa()[source]
class test.test_imaplib.SecureTCPServer(server_address, RequestHandlerClass, bind_and_activate=True)[source]

Bases: socketserver.TCPServer

get_request()[source]
class test.test_imaplib.SimpleIMAPHandler(request, client_address, server)[source]

Bases: socketserver.StreamRequestHandler

capabilities = ''
cmd_CAPABILITY(tag, args)[source]
cmd_LOGOUT(tag, args)[source]
continuation = None
handle()[source]
timeout = 1
class test.test_imaplib.TestImaplib(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_Internaldate2tuple()[source]
test_Internaldate2tuple_issue10941(*args, **kwds)
test_Time2Internaldate(*args, **kwds)
test_that_Time2Internaldate_returns_a_result()[source]
timevalues()[source]
class test.test_imaplib.ThreadedNetworkedTests(methodName='runTest')[source]

Bases: test.test_imaplib.BaseThreadedNetworkedTests

imap_class

alias of IMAP4

server_class

alias of TCPServer

class test.test_imaplib.ThreadedNetworkedTestsSSL(methodName='runTest')[source]

Bases: test.test_imaplib.BaseThreadedNetworkedTests

imap_class

alias of IMAP4_SSL

server_class

alias of SecureTCPServer

test_ssl_verified()[source]
test.test_imaplib.load_tests(*args)[source]

test.test_imghdr module

class test.test_imghdr.TestImghdr(methodName='runTest')[source]

Bases: unittest.case.TestCase

classmethod setUpClass()[source]
tearDown()[source]
test_bad_args()[source]
test_closed_file()[source]
test_data()[source]
test_file_pos()[source]
test_invalid_headers()[source]
test_missing_file()[source]
test_output_stream()[source]
test_register_test()[source]
test_string_data()[source]
test_unseekable()[source]
class test.test_imghdr.UnseekableIO[source]

Bases: _io.FileIO

seek(*args, **kwargs)[source]
tell()[source]

test.test_imp module

class test.test_imp.ImportTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_bug7732()[source]
test_find_module_encoding()[source]
test_import_encoded_module()[source]
test_issue1267()[source]
test_issue15828_load_extensions()[source]
test_issue16421_multiple_modules_in_one_dll()[source]
test_issue3594()[source]
test_issue5604()[source]
test_issue9319()[source]
test_load_dynamic_ImportError_path()[source]
test_load_from_source()[source]
test_load_module_extension_file_is_None()[source]
test_multiple_calls_to_get_data()[source]
class test.test_imp.LockTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Very basic test of import lock functions.

testLock()[source]
verify_lock_state(expected)[source]
class test.test_imp.NullImporterTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_unencodeable()[source]
class test.test_imp.PEP3147Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests of PEP 3147.

tag = 'cpython-34'
test_cache_from_source()[source]
test_cache_from_source_cwd()[source]
test_cache_from_source_no_cache_tag()[source]
test_cache_from_source_no_dot()[source]
test_cache_from_source_optimized()[source]
test_cache_from_source_override()[source]
test_package___file__()[source]
test_sep_altsep_and_sep_cache_from_source()[source]
test_source_from_cache()[source]
test_source_from_cache_bad_path()[source]
test_source_from_cache_no__pycache__()[source]
test_source_from_cache_no_cache_tag()[source]
test_source_from_cache_no_slash()[source]
test_source_from_cache_too_few_dots()[source]
test_source_from_cache_too_many_dots()[source]
class test.test_imp.ReloadTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Very basic tests to make sure that imp.reload() operates just like reload().

test_builtin()[source]
test_extension()[source]
test_source()[source]
test_with_deleted_parent()[source]
test.test_imp.requires_load_dynamic(meth)[source]

Decorator to skip a test if not running under CPython or lacking imp.load_dynamic().

test.test_import module

class test.test_import.FilePermissionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cached_mode_issue_2051()[source]
test_cached_readonly()[source]
test_creation_mode()[source]
test_pyc_always_writable()[source]
class test.test_import.GetSourcefileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test importlib._bootstrap._get_sourcefile() as used by the C API.

Because of the peculiarities of the need of this function, the tests are knowingly whitebox tests.

test_get_sourcefile()[source]
test_get_sourcefile_bad_ext()[source]
test_get_sourcefile_no_source()[source]
class test.test_import.ImportTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_bogus_fromlist()[source]
test_case_sensitivity()[source]
test_delete_builtins_import()[source]
test_double_const()[source]
test_failing_import_sticks()[source]
test_failing_reload()[source]
test_file_to_source()[source]
test_from_import_message_for_existing_module()[source]
test_from_import_message_for_nonexistent_module()[source]
test_import()[source]
test_import_by_filename()[source]
test_import_in_del_does_not_crash()[source]
test_import_name_binding()[source]
test_module_with_large_stack(module='longlist')[source]
test_timestamp_overflow()[source]
class test.test_import.ImportTracebackTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assert_traceback(tb, files)[source]
create_module(mod, contents, ext='.py')[source]
setUp()[source]
tearDown()[source]
test_broken_from()[source]
test_broken_parent()[source]
test_broken_parent_from()[source]
test_broken_submodule()[source]
test_exec_failure()[source]
test_exec_failure_nested()[source]
test_import_bug()[source]
test_nonexistent_module()[source]
test_nonexistent_module_nested()[source]
test_syntax_error()[source]
test_unencodable_filename()[source]
class test.test_import.ImportlibBootstrapTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_frozen_importlib()[source]
test_frozen_importlib_is_bootstrap()[source]
test_there_can_be_only_one()[source]
class test.test_import.OverridingImportBuiltinTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_override_builtin()[source]
class test.test_import.PathsTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

SAMPLES = ('test', 'testäöüß', 'testéè', 'test°³²')
path = '@test_6476_tmp'
setUp()[source]
tearDown()[source]
test_UNC_path()[source]
test_trailing_slash()[source]
class test.test_import.PycRewritingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

compiled_name = 'c:\\xampp\\htdocs\\@test_6476_tmp\\__pycache__\\unlikely_module_name.cpython-34.pyc'
dir_name = 'c:\\xampp\\htdocs\\@test_6476_tmp'
file_name = 'c:\\xampp\\htdocs\\@test_6476_tmp\\unlikely_module_name.py'
import_module()[source]
module_name = 'unlikely_module_name'
module_source = '\nimport sys\ncode_filename = sys._getframe().f_code.co_filename\nmodule_filename = __file__\nconstant = 1\ndef func():\n pass\nfunc_filename = func.__code__.co_filename\n'
setUp()[source]
tearDown()[source]
test_basics()[source]
test_foreign_code()[source]
test_incorrect_code_name()[source]
test_module_without_source()[source]
class test.test_import.PycacheTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tag = 'cpython-34'
tearDown()[source]
test___cached__()[source]
test___cached___legacy_pyc()[source]
test_import_pyc_path()[source]
test_missing_source()[source]
test_missing_source_legacy()[source]
test_package___cached__()[source]
test_package___cached___from_pyc()[source]
test_recompute_pyc_same_second()[source]
test_unwritable_directory()[source]
class test.test_import.RelativeImportTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()
tearDown()[source]
test_absolute_import_without_future()[source]
test_issue3221()[source]
test_relimport_star()[source]
class test.test_import.TestSymbolicallyLinkedPackage(methodName='runTest')[source]

Bases: unittest.case.TestCase

package_name = 'sample'
setUp()[source]
tagged = 'sample-tagged'
tearDown()[source]
test_symlinked_dir_importable()[source]
test.test_import.remove_files(name)[source]

test.test_index module

class test.test_index.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_basic()[source]
test_error()[source]
test_index_returns_int_subclass()[source]
test_int_subclass_with_index()[source]
test_slice()[source]
test_subclasses()[source]
test_wrappers()[source]
class test.test_index.ByteArrayTestCase(methodName='runTest')[source]

Bases: test.test_index.SeqTestCase, unittest.case.TestCase

seq = bytearray(b'this is a test')
class test.test_index.BytesTestCase(methodName='runTest')[source]

Bases: test.test_index.SeqTestCase, unittest.case.TestCase

seq = b'this is a test'
class test.test_index.ListTestCase(methodName='runTest')[source]

Bases: test.test_index.SeqTestCase, unittest.case.TestCase

seq = [0, 10, 20, 30, 40, 50]
test_inplace_repeat()[source]
test_setdelitem()[source]
class test.test_index.NewSeq(iterable)[source]

Bases: object

class test.test_index.NewSeqTestCase(methodName='runTest')[source]

Bases: test.test_index.SeqTestCase, unittest.case.TestCase

seq = [0, 10, 20, 30, 40, 50]
class test.test_index.OverflowTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_getitem()[source]
test_large_longs()[source]
test_sequence_repeat()[source]
class test.test_index.RangeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_range()[source]
class test.test_index.SeqTestCase[source]

Bases: object

setUp()[source]
test_error()[source]
test_index()[source]
test_repeat()[source]
test_slice()[source]
test_slice_bug7532()[source]
test_subclasses()[source]
test_wrappers()[source]
class test.test_index.StringTestCase(methodName='runTest')[source]

Bases: test.test_index.SeqTestCase, unittest.case.TestCase

seq = 'this is a test'
class test.test_index.TrapInt[source]

Bases: int

class test.test_index.TupleTestCase(methodName='runTest')[source]

Bases: test.test_index.SeqTestCase, unittest.case.TestCase

seq = (0, 10, 20, 30, 40, 50)
class test.test_index.newstyle[source]

Bases: object

test.test_inspect module

class test.test_inspect.GetSourceBase(*args, **kwargs)[source]

Bases: unittest.case.TestCase

assertSourceEqual(obj, top, bottom)[source]
fodderModule = None
sourcerange(top, bottom)[source]
class test.test_inspect.IsTestBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

istest(predicate, exp)[source]
predicates = {<function ismethod at 0x02A09618>, <function ismodule at 0x029E5228>, <function isgenerator at 0x02A09810>, <function istraceback at 0x02A09858>, <function isframe at 0x02A098A0>, <function iscode at 0x02A098E8>, <function isbuiltin at 0x02A09930>, <function isfunction at 0x02A09780>, <function isgeneratorfunction at 0x02A097C8>, <function isclass at 0x02A095D0>}
class test.test_inspect.TestBoundArguments(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_signature_bound_arguments_equality()[source]
test_signature_bound_arguments_unhashable()[source]
class test.test_inspect.TestBuggyCases(*args, **kwargs)[source]

Bases: test.test_inspect.GetSourceBase

fodderModule = <module 'test.inspect_fodder2' from 'C:\\Python34\\lib\\test\\inspect_fodder2.py'>
test_findsource_binary()[source]
test_findsource_code_in_linecache()[source]
test_findsource_without_filename()[source]
test_method_in_dynamic_class()[source]
test_multiline_sig()[source]
test_nested_class()[source]
test_one_liner_dedent_non_name()[source]
test_one_liner_followed_by_non_name()[source]
test_with_comment()[source]
test_with_comment_instead_of_docstring()[source]
class test.test_inspect.TestClassesAndFunctions(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertArgSpecEquals(routine, args_e, varargs_e=None, varkw_e=None, defaults_e=None, formatted=None)[source]
assertFullArgSpecEquals(routine, args_e, varargs_e=None, varkw_e=None, defaults_e=None, kwonlyargs_e=[], kwonlydefaults_e=None, ann_e={}, formatted=None)[source]
test_argspec_api_ignores_wrapped()[source]
test_classify_DynamicClassAttribute()[source]
test_classify_VirtualAttribute()[source]
test_classify_VirtualAttribute_multi_classes()[source]
test_classify_builtin_types()[source]
test_classify_class_attrs_with_buggy_dir()[source]
test_classify_metaclass_class_attribute()[source]
test_classify_newstyle()[source]
test_getargspec()[source]
test_getargspec_method()[source]
test_getfullagrspec_builtin_func()[source]
test_getfullagrspec_builtin_func_no_signature()[source]
test_getfullargspec()[source]
test_getfullargspec_builtin_methods()[source]
test_getfullargspec_signature_annos()[source]
test_getfullargspec_signature_attr()[source]
test_getmembers_VirtualAttribute()[source]
test_getmembers_descriptors()[source]
test_getmembers_method()[source]
test_getmembers_with_buggy_dir()[source]
test_newstyle_mro()[source]
class test.test_inspect.TestDecorators(*args, **kwargs)[source]

Bases: test.test_inspect.GetSourceBase

fodderModule = <module 'test.inspect_fodder2' from 'C:\\Python34\\lib\\test\\inspect_fodder2.py'>
test_replacing_decorator()[source]
test_wrapped_decorator()[source]
class test.test_inspect.TestGetClosureVars(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtins_as_dict()[source]
test_builtins_as_module()[source]
test_builtins_fallback()[source]
test_generator_closure()[source]
test_getclosurevars_empty()[source]
test_getclosurevars_error()[source]
test_method_closure()[source]
test_name_resolution()[source]
test_nonlocal_vars()[source]
class test.test_inspect.TestGetGeneratorState(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_closed_after_exhaustion()[source]
test_closed_after_immediate_exception()[source]
test_created()[source]
test_easy_debugging()[source]
test_getgeneratorlocals()[source]
test_getgeneratorlocals_empty()[source]
test_getgeneratorlocals_error()[source]
test_running()[source]
test_suspended()[source]
class test.test_inspect.TestGetattrStatic(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test_classAttribute()[source]
test_classVirtualAttribute()[source]
test_class_as_property()[source]
test_custom_object_dict()[source]
test_descriptor()[source]
test_descriptor_raises_AttributeError()[source]
test_dict_as_property()[source]
test_inherited()[source]
test_inherited_classattribute()[source]
test_inherited_slots()[source]
test_instance_attr()[source]
test_metaclass()[source]
test_metaclass_dict_as_property()[source]
test_metaclass_with_descriptor()[source]
test_metaclass_with_metaclass_with_dict_as_property()[source]
test_module()[source]
test_mro_as_property()[source]
test_no_dict_no_slots()[source]
test_no_dict_no_slots_instance_member()[source]
test_property()[source]
test_slots()[source]
class test.test_inspect.TestGetcallargsFunctions(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertEqualCallArgs(func, call_params_string, locs=None)[source]
assertEqualException(func, call_param_string, locs=None)[source]
makeCallable(signature)[source]

Create a function that returns its locals()

test_errors()[source]
test_keyword_only()[source]
test_multiple_features()[source]
test_plain()[source]
test_varargs()[source]
test_varkw()[source]
test_varkw_only()[source]
class test.test_inspect.TestGetcallargsMethods(methodName='runTest')[source]

Bases: test.test_inspect.TestGetcallargsFunctions

makeCallable(signature)[source]
setUp()[source]
class test.test_inspect.TestGetcallargsUnboundMethods(methodName='runTest')[source]

Bases: test.test_inspect.TestGetcallargsMethods

assertEqualCallArgs(func, call_params_string, locs=None)[source]
assertEqualException(func, call_params_string, locs=None)[source]
makeCallable(signature)[source]
class test.test_inspect.TestInterpreterStack(*args, **kwargs)[source]

Bases: test.test_inspect.IsTestBase

test_abuse_done()[source]
test_frame()[source]
test_previous_frame()[source]
test_stack()[source]
test_trace()[source]
class test.test_inspect.TestMain(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtins()[source]
test_custom_getattr()[source]
test_details()[source]
test_only_source()[source]
test_qualname_source()[source]
class test.test_inspect.TestNoEOL(*args, **kwargs)[source]

Bases: test.test_inspect.GetSourceBase

tearDown()[source]
test_class()[source]
class test.test_inspect.TestOneliners(*args, **kwargs)[source]

Bases: test.test_inspect.GetSourceBase

fodderModule = <module 'test.inspect_fodder2' from 'C:\\Python34\\lib\\test\\inspect_fodder2.py'>
test_anonymous()[source]
test_lambda_in_list()[source]
test_manyargs()[source]
test_oneline_lambda()[source]
test_onelinefunc()[source]
test_threeline_lambda()[source]
test_twoline_indented_lambda()[source]
test_twolinefunc()[source]
class test.test_inspect.TestParameterObject(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_signature_parameter_equality()[source]
test_signature_parameter_immutability()[source]
test_signature_parameter_kinds()[source]
test_signature_parameter_object()[source]
test_signature_parameter_positional_only()[source]
test_signature_parameter_replace()[source]
test_signature_parameter_unhashable()[source]
class test.test_inspect.TestPredicates(methodName='runTest')[source]

Bases: test.test_inspect.IsTestBase

test_excluding_predicates()[source]
test_get_slot_members()[source]
test_isabstract()[source]
test_isclass()[source]
test_isroutine()[source]
test_sixteen()[source]
class test.test_inspect.TestRetrievingSourceCode(*args, **kwargs)[source]

Bases: test.test_inspect.GetSourceBase

fodderModule = <module 'test.inspect_fodder' from 'C:\\Python34\\lib\\test\\inspect_fodder.py'>
test_cleandoc()[source]
test_getclasses()[source]
test_getcomments()[source]
test_getdoc()[source]
test_getfile()[source]
test_getfile_class_without_module()[source]
test_getfunctions()[source]
test_getmodule()[source]
test_getmodule_recursion()[source]
test_getsource()[source]
test_getsourcefile()[source]
test_proceed_with_fake_filename()[source]

doctest monkeypatches linecache to enable inspection

class test.test_inspect.TestSignatureBind(methodName='runTest')[source]

Bases: unittest.case.TestCase

static call(func, *args, **kwargs)[source]
test_signature_bind_args_and_kwargs()[source]
test_signature_bind_args_and_varargs()[source]
test_signature_bind_arguments()[source]
test_signature_bind_empty()[source]
test_signature_bind_just_args()[source]
test_signature_bind_just_kwargs()[source]
test_signature_bind_kwonly()[source]
test_signature_bind_positional_only()[source]
test_signature_bind_var()[source]
test_signature_bind_vararg_name()[source]
test_signature_bind_varargs_order()[source]
test_signature_bind_with_self_arg()[source]
class test.test_inspect.TestSignatureObject(methodName='runTest')[source]

Bases: unittest.case.TestCase

static signature(func)[source]
test_signature_equality()[source]
test_signature_from_builtin_errors()[source]
test_signature_from_functionlike_object()[source]
test_signature_functionlike_class()[source]
test_signature_immutability()[source]
test_signature_object()[source]
test_signature_on_builtin_class()[source]
test_signature_on_builtins()[source]
test_signature_on_builtins_no_signature()[source]
test_signature_on_callable_objects()[source]
test_signature_on_class()[source]
test_signature_on_class_without_init()[source]
test_signature_on_classmethod()[source]
test_signature_on_complex_args()[source]
test_signature_on_decorated()[source]
test_signature_on_decorated_builtins()[source]
test_signature_on_fake_partialmethod()[source]
test_signature_on_lambdas()[source]
test_signature_on_mangled_parameters()[source]
test_signature_on_method()[source]
test_signature_on_noarg()[source]
test_signature_on_non_function()[source]
test_signature_on_partial()[source]
test_signature_on_partialmethod()[source]
test_signature_on_staticmethod()[source]
test_signature_on_wargs()[source]
test_signature_on_wkwonly()[source]
test_signature_replace_anno()[source]
test_signature_str()[source]
test_signature_str_positional_only()[source]
test_signature_unhashable()[source]
class test.test_inspect.TestSignaturePrivateHelpers(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_signature_get_bound_param()[source]
test_signature_strip_non_python_syntax()[source]
class test.test_inspect.TestUnwrap(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cycle()[source]
test_stop()[source]
test_unhashable()[source]
test_unwrap_one()[source]
test_unwrap_several()[source]
test.test_inspect.attrs_wo_objs(cls)[source]
test.test_inspect.generator_function_example(self)[source]
test.test_inspect.revise(filename, *args)[source]
test.test_inspect.test_main()[source]

test.test_int module

class test.test_int.IntTestCases(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test_error_message()[source]
test_int_base_bad_types()[source]

Not integer types are not valid bases; issue16772.

test_int_base_indexable()[source]
test_int_base_limits()[source]

Testing the supported limits of the int() base parameter.

test_int_returns_int_subclass()[source]
test_int_subclass_with_int()[source]
test_intconversion()[source]
test_keyword_args()[source]
test_no_args()[source]
test_non_numeric_input_types()[source]
test_small_ints()[source]
test_string_float()[source]
test.test_int.test_main()[source]

test.test_int_literal module

Test correct treatment of hex/oct constants.

This is complex because of changes due to PEP 237.

class test.test_int_literal.TestHexOctBin(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bin_baseline()[source]
test_bin_unsigned()[source]
test_hex_baseline()[source]
test_hex_unsigned()[source]
test_oct_baseline()[source]
test_oct_unsigned()[source]
test.test_int_literal.test_main()[source]

test.test_io module

Unit tests for the io module.

class test.test_io.BufferedRWPairTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_close_and_closed()[source]
test_constructor()[source]
test_constructor_max_buffer_size_removal()[source]
test_constructor_with_not_readable()[source]
test_constructor_with_not_writeable()[source]
test_detach()[source]
test_isatty()[source]
test_peek()[source]
test_read()[source]
test_read1()[source]
test_readable()[source]
test_readinto()[source]
test_readlines()[source]
test_seekable()[source]
test_uninitialized()[source]
test_write()[source]
test_writeable()[source]
class test.test_io.BufferedRandomTest(methodName='runTest')[source]

Bases: test.test_io.BufferedReaderTest, test.test_io.BufferedWriterTest

check_flush_and_read(read_func)[source]
read_mode = 'rb+'
test_constructor()[source]
test_flush_and_peek()[source]
test_flush_and_read()[source]
test_flush_and_readinto()[source]
test_flush_and_write()[source]
test_interleaved_read_write()[source]
test_interleaved_readline_write()[source]
test_misbehaved_io()[source]
test_read_and_write()[source]
test_seek_and_tell()[source]
test_threads()[source]
test_truncate_after_read_or_write()[source]
test_uninitialized()[source]
test_unseekable = None
test_write_after_readahead()[source]
test_write_rewind_write()[source]
test_writes_and_peek()[source]
test_writes_and_read1s()[source]
test_writes_and_readintos()[source]
test_writes_and_reads()[source]
write_mode = 'wb+'
class test.test_io.BufferedReaderTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_io.CommonBufferedTests

read_mode = 'rb'
test_buffering()[source]
test_constructor()[source]
test_misbehaved_io()[source]
test_no_extraneous_read()[source]
test_read()[source]
test_read1()[source]
test_read_all()[source]
test_read_non_blocking()[source]
test_read_past_eof()[source]
test_readinto()[source]
test_readlines()[source]
test_threads()[source]
test_uninitialized()[source]
test_unseekable()[source]
class test.test_io.BufferedWriterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_io.CommonBufferedTests

check_writes(intermediate_func)[source]
test_constructor()[source]
test_destructor()[source]
test_detach_flush()[source]
test_flush()[source]
test_max_buffer_size_removal()[source]
test_misbehaved_io()[source]
test_threads()[source]
test_truncate()[source]
test_uninitialized()[source]
test_write()[source]
test_write_and_rewind()[source]
test_write_error_on_close()[source]
test_write_non_blocking()[source]
test_write_overflow()[source]
test_writelines()[source]
test_writelines_error()[source]
test_writelines_userlist()[source]
test_writes()[source]
test_writes_and_flushes()[source]
test_writes_and_seeks()[source]
test_writes_and_truncates()[source]
write_mode = 'wb'
class test.test_io.CBufferedRWPairTest(methodName='runTest')[source]

Bases: test.test_io.BufferedRWPairTest

tp

alias of BufferedRWPair

class test.test_io.CBufferedRandomTest(methodName='runTest')[source]

Bases: test.test_io.BufferedRandomTest, test.test_io.SizeofTest

test_args_error()[source]
test_constructor()[source]
test_garbage_collection()[source]
tp

alias of BufferedRandom

class test.test_io.CBufferedReaderTest(methodName='runTest')[source]

Bases: test.test_io.BufferedReaderTest, test.test_io.SizeofTest

test_args_error()[source]
test_constructor()[source]
test_garbage_collection()[source]
test_initialization()[source]
test_misbehaved_io_read()[source]
tp

alias of BufferedReader

class test.test_io.CBufferedWriterTest(methodName='runTest')[source]

Bases: test.test_io.BufferedWriterTest, test.test_io.SizeofTest

test_args_error()[source]
test_constructor()[source]
test_garbage_collection()[source]
test_initialization()[source]
tp

alias of BufferedWriter

class test.test_io.CCloseFailureIO(read_stack=())[source]

Bases: test.test_io.CloseFailureIO, io.RawIOBase

class test.test_io.CIOTest(methodName='runTest')[source]

Bases: test.test_io.IOTest

test_IOBase_finalize()[source]
class test.test_io.CIncrementalNewlineDecoderTest(methodName='runTest')[source]

Bases: test.test_io.IncrementalNewlineDecoderTest

class test.test_io.CMisbehavedRawIO(read_stack=())[source]

Bases: test.test_io.MisbehavedRawIO, io.RawIOBase

class test.test_io.CMiscIOTest(methodName='runTest')[source]

Bases: test.test_io.MiscIOTest

io = <module 'io' from 'C:\\Python34\\lib\\io.py'>
test_readinto_buffer_overflow()[source]
class test.test_io.CMockFileIO(data)[source]

Bases: test.test_io.MockFileIO, _io.BytesIO

class test.test_io.CMockNonBlockWriterIO[source]

Bases: test.test_io.MockNonBlockWriterIO, io.RawIOBase

exception BlockingIOError

Bases: OSError

I/O operation would block.

class test.test_io.CMockRawIO(read_stack=())[source]

Bases: test.test_io.MockRawIO, io.RawIOBase

class test.test_io.CMockRawIOWithoutRead(read_stack=())[source]

Bases: test.test_io.MockRawIOWithoutRead, io.RawIOBase

class test.test_io.CMockUnseekableIO[source]

Bases: test.test_io.MockUnseekableIO, _io.BytesIO

exception UnsupportedOperation

Bases: ValueError, OSError

class test.test_io.CSignalsTest(methodName='runTest')[source]

Bases: test.test_io.SignalsTest

io = <module 'io' from 'C:\\Python34\\lib\\io.py'>
class test.test_io.CTextIOWrapperTest(methodName='runTest')[source]

Bases: test.test_io.TextIOWrapperTest

io = <module 'io' from 'C:\\Python34\\lib\\io.py'>
shutdown_error = 'RuntimeError: could not find io module state'
test_garbage_collection()[source]
test_initialization()[source]
test_rwpair_cleared_before_textio()[source]
class test.test_io.CloseFailureIO(read_stack=())[source]

Bases: test.test_io.MockRawIO

close()[source]
closed = 0
class test.test_io.CommonBufferedTests[source]

Bases: object

test_close_error_on_close()[source]
test_context_manager()[source]
test_detach()[source]
test_error_through_destructor()[source]
test_fileno()[source]
test_flush_error_on_close()[source]
test_invalid_args()[source]
test_multi_close()[source]
test_no_fileno()[source]
test_nonnormalized_close_error_on_close()[source]
test_override_destructor()[source]
test_readonly_attributes()[source]
test_repr()[source]
test_unseekable()[source]
class test.test_io.IOTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

LARGE = 2147483648
large_file_ops(f)[source]
read_ops(f, buffered=False)[source]
setUp()[source]
tearDown()[source]
test_BufferedIOBase_destructor()[source]
test_IOBase_destructor()[source]
test_RawIOBase_destructor()[source]
test_RawIOBase_read()[source]
test_TextIOBase_destructor()[source]
test_append_mode_tell()[source]
test_array_writes()[source]
test_buffered_file_io()[source]
test_close_flushes()[source]
test_closefd()[source]
test_closefd_attr()[source]
test_destructor()[source]
test_fileio_closefd()[source]
test_flush_error_on_close()[source]
test_garbage_collection()[source]
test_invalid_newline()[source]
test_invalid_operations()[source]
test_large_file_ops()[source]
test_multi_close()[source]
test_no_closefd_with_filename()[source]
test_nonbuffered_textio()[source]
test_open_handles_NUL_chars()[source]
test_opener()[source]
test_raw_bytes_io()[source]
test_raw_file_io()[source]
test_read_closed()[source]
test_readline()[source]
test_types_have_dict()[source]
test_unbounded_file()[source]
test_with_open()[source]
write_ops(f)[source]
class test.test_io.IncrementalNewlineDecoderTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_newline_decoding(decoder, encoding)[source]
check_newline_decoding_utf8(decoder)[source]
test_newline_bytes()[source]
test_newline_decoder()[source]
class test.test_io.MisbehavedRawIO(read_stack=())[source]

Bases: test.test_io.MockRawIO

read(n=None)[source]
readinto(buf)[source]
seek(pos, whence)[source]
tell()[source]
write(b)[source]
class test.test_io.MiscIOTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
test___all__()[source]
test_abc_inheritance()[source]
test_abc_inheritance_official()[source]
test_abcs()[source]
test_attributes()[source]
test_blockingioerror()[source]
test_create_fail()[source]
test_create_writes()[source]
test_io_after_close()[source]
test_nonblock_pipe_write_bigbuf()[source]
test_nonblock_pipe_write_smallbuf()[source]
test_open_allargs()[source]
test_pickling()[source]
test_warn_on_dealloc()[source]
test_warn_on_dealloc_fd()[source]
class test.test_io.MockFileIO(data)[source]

Bases: object

read(n=None)[source]
readinto(b)[source]
class test.test_io.MockNonBlockWriterIO[source]

Bases: object

block_on(char)[source]

Block when a given char is encountered.

pop_written()[source]
readable()[source]
seekable()[source]
writable()[source]
write(b)[source]
class test.test_io.MockRawIO(read_stack=())[source]

Bases: test.test_io.MockRawIOWithoutRead

read(n=None)[source]
class test.test_io.MockRawIOWithoutRead(read_stack=())[source]

Bases: object

A RawIO implementation without read(), so as to exercise the default RawIO.read() which calls readinto().

fileno()[source]
readable()[source]
readinto(buf)[source]
seek(pos, whence)[source]
seekable()[source]
tell()[source]
truncate(pos=None)[source]
writable()[source]
write(b)[source]
class test.test_io.MockUnseekableIO[source]

Bases: object

seek(*args)[source]
seekable()[source]
tell(*args)[source]
class test.test_io.PyBufferedRWPairTest(methodName='runTest')[source]

Bases: test.test_io.BufferedRWPairTest

tp

alias of BufferedRWPair

class test.test_io.PyBufferedRandomTest(methodName='runTest')[source]

Bases: test.test_io.BufferedRandomTest

tp

alias of BufferedRandom

class test.test_io.PyBufferedReaderTest(methodName='runTest')[source]

Bases: test.test_io.BufferedReaderTest

tp

alias of BufferedReader

class test.test_io.PyBufferedWriterTest(methodName='runTest')[source]

Bases: test.test_io.BufferedWriterTest

tp

alias of BufferedWriter

class test.test_io.PyCloseFailureIO(read_stack=())[source]

Bases: test.test_io.CloseFailureIO, _pyio.RawIOBase

class test.test_io.PyIOTest(methodName='runTest')[source]

Bases: test.test_io.IOTest

class test.test_io.PyIncrementalNewlineDecoderTest(methodName='runTest')[source]

Bases: test.test_io.IncrementalNewlineDecoderTest

class test.test_io.PyMisbehavedRawIO(read_stack=())[source]

Bases: test.test_io.MisbehavedRawIO, _pyio.RawIOBase

class test.test_io.PyMiscIOTest(methodName='runTest')[source]

Bases: test.test_io.MiscIOTest

io = <module '_pyio' from 'C:\\Python34\\lib\\_pyio.py'>
class test.test_io.PyMockFileIO(data)[source]

Bases: test.test_io.MockFileIO, _pyio.BytesIO

class test.test_io.PyMockNonBlockWriterIO[source]

Bases: test.test_io.MockNonBlockWriterIO, _pyio.RawIOBase

exception BlockingIOError

Bases: OSError

I/O operation would block.

class test.test_io.PyMockRawIO(read_stack=())[source]

Bases: test.test_io.MockRawIO, _pyio.RawIOBase

class test.test_io.PyMockRawIOWithoutRead(read_stack=())[source]

Bases: test.test_io.MockRawIOWithoutRead, _pyio.RawIOBase

class test.test_io.PyMockUnseekableIO(initial_bytes=None)[source]

Bases: test.test_io.MockUnseekableIO, _pyio.BytesIO

exception UnsupportedOperation

Bases: ValueError, OSError

class test.test_io.PySignalsTest(methodName='runTest')[source]

Bases: test.test_io.SignalsTest

io = <module '_pyio' from 'C:\\Python34\\lib\\_pyio.py'>
test_reentrant_write_buffered = None
test_reentrant_write_text = None
class test.test_io.PyTextIOWrapperTest(methodName='runTest')[source]

Bases: test.test_io.TextIOWrapperTest

io = <module '_pyio' from 'C:\\Python34\\lib\\_pyio.py'>
shutdown_error = "TypeError: 'NoneType' object is not iterable"
class test.test_io.SignalsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

alarm_interrupt(sig, frame)[source]
check_interrupted_read_retry(decode, **fdopen_kwargs)[source]

Check that a buffered read, when it gets interrupted (either returning a partial result or EINTR), properly invokes the signal handler and retries if the latter returned successfully.

check_interrupted_write(item, bytes, **fdopen_kwargs)[source]

Check that a partial write, when it gets interrupted, properly invokes the signal handler, and bubbles up the exception raised in the latter.

check_interrupted_write_retry(item, **fdopen_kwargs)[source]

Check that a buffered write, when it gets interrupted (either returning a partial result or EINTR), properly invokes the signal handler and retries if the latter returned successfully.

check_reentrant_write(data, **fdopen_kwargs)[source]
setUp()[source]
tearDown()[source]
test_interrupted_read_retry_buffered()[source]
test_interrupted_read_retry_text()[source]
test_interrupted_write_buffered()[source]
test_interrupted_write_retry_buffered()[source]
test_interrupted_write_retry_text()[source]
test_interrupted_write_text()[source]
test_interrupted_write_unbuffered()[source]
test_reentrant_write_buffered()[source]
test_reentrant_write_text()[source]
class test.test_io.SizeofTest[source]

Bases: object

test_buffer_freeing()[source]
test_sizeof()[source]
class test.test_io.StatefulIncrementalDecoder(errors='strict')[source]

Bases: codecs.IncrementalDecoder

For testing seek/tell behavior with a stateful, buffering decoder.

Input is a sequence of words. Words may be fixed-length (length set by input) or variable-length (period-terminated). In variable-length mode, extra periods are ignored. Possible words are:

  • ‘i’ followed by a number sets the input length, I (maximum 99). When I is set to 0, words are space-terminated.
  • ‘o’ followed by a number sets the output length, O (maximum 99).
  • Any other word is converted into a word followed by a period on the output. The output word consists of the input word truncated or padded out with hyphens to make its length equal to O. If O is 0, the word is output verbatim without truncating or padding.

I and O are initially set to 1. When I changes, any buffered input is re-scanned according to the new I. EOF also terminates the last word.

codecEnabled = False
decode(input, final=False)[source]
getstate()[source]
classmethod lookupTestDecoder(name)[source]
process_word()[source]
reset()[source]
setstate(state)[source]
class test.test_io.StatefulIncrementalDecoderTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Make sure the StatefulIncrementalDecoder actually works.

test_cases = [(b'abcd', False, 'a.b.c.d.'), (b'oiabcd', True, 'abcd.'), (b'oi...abcd...', True, 'abcd.'), (b'i.o6.x.xyz.toolongtofit.', False, 'x-----.xyz---.toolon.'), (b'i.i2.o6xyz', True, 'xy----.z-----.'), (b'i.o3.i6.abcdefghijklmnop', True, 'abc.ghi.mno.'), (b'i.o29.a.b.cde.o15.abcdefghijabcdefghij.i3.a.b.c.d.ei00k.l.m', True, 'a----------------------------.b----------------------------.cde--------------------------.abcdefghijabcde.a.b------------..c.------------.d.e------------.k--------------.l--------------.m--------------.')]
test_decoder()[source]
class test.test_io.TextIOWrapperTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

multi_line_test(f, enc)[source]
setUp()[source]
tearDown()[source]
test_append_bom()[source]
test_basic_io()[source]
test_bufio_write_through()[source]
test_close_error_on_close()[source]
test_constructor()[source]
test_create_at_shutdown_with_encoding()[source]
test_create_at_shutdown_without_encoding()[source]
test_default_encoding()[source]
test_destructor()[source]
test_detach()[source]
test_device_encoding()[source]
test_encoded_writes()[source]
test_encoding()[source]
test_encoding_errors_reading()[source]
test_encoding_errors_writing()[source]
test_error_through_destructor()[source]
test_errors_property()[source]
test_flush_error_on_close()[source]
test_illegal_decoder()[source]
test_issue1395_1()[source]
test_issue1395_2()[source]
test_issue1395_3()[source]
test_issue1395_4()[source]
test_issue1395_5()[source]
test_issue2282()[source]
test_line_buffering()[source]
test_multi_close()[source]
test_newlines()[source]
test_newlines_input()[source]
test_newlines_output()[source]
test_non_text_encoding_codecs_are_rejected()[source]
test_nonnormalized_close_error_on_close()[source]
test_override_destructor()[source]
test_rawio()[source]
test_rawio_write_through()[source]
test_read_by_chunk()[source]
test_read_nonbytes()[source]
test_read_one_by_one()[source]
test_readlines()[source]
test_readonly_attributes()[source]
test_repr()[source]
test_seek_and_tell()[source]
test_seek_bom()[source]
test_seeking()[source]
test_seeking_too()[source]
test_telling()[source]
test_threads_write()[source]
test_unreadable()[source]
test_unseekable()[source]
test_writelines()[source]
test_writelines_error()[source]
test_writelines_userlist()[source]
test.test_io.load_tests(*args)[source]

test.test_ioctl module

test.test_ipaddress module

Unittest for ipaddress module.

class test.test_ipaddress.AddressTestCase_v4(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase, test.test_ipaddress.CommonTestMixin_v4

factory

alias of IPv4Address

test_bad_address_split()[source]
test_empty_octet()[source]
test_invalid_characters()[source]
test_network_passed_as_address()[source]
test_octal_decimal_ambiguity()[source]
test_octet_length()[source]
test_octet_limit()[source]
class test.test_ipaddress.AddressTestCase_v6(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase, test.test_ipaddress.CommonTestMixin_v6

factory

alias of IPv6Address

test_bad_address_split_v6_leading_colon()[source]
test_bad_address_split_v6_not_enough_parts()[source]
test_bad_address_split_v6_repeated_double_colon()[source]
test_bad_address_split_v6_too_many_colons()[source]
test_bad_address_split_v6_too_many_parts()[source]
test_bad_address_split_v6_too_many_parts_with_double_colon()[source]
test_bad_address_split_v6_trailing_colon()[source]
test_bad_v4_part_in()[source]
test_invalid_characters()[source]
test_network_passed_as_address()[source]
test_part_length()[source]
class test.test_ipaddress.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertAddressError(details, *args)[source]

Ensure a clean AddressValueError

assertCleanError(exc_type, details, *args)[source]

Ensure exception does not display a context by default

Wraps unittest.TestCase.assertRaisesRegex

assertInstancesEqual(lhs, rhs)[source]

Check constructor arguments produce equivalent instances

assertNetmaskError(details, *args)[source]

Ensure a clean NetmaskValueError

factory
class test.test_ipaddress.CommonTestMixin[source]

Bases: object

test_empty_address()[source]
test_floats_rejected()[source]
test_not_an_index_issue15559()[source]
class test.test_ipaddress.CommonTestMixin_v4[source]

Bases: test.test_ipaddress.CommonTestMixin

test_bad_packed_length()[source]
test_int()[source]
test_large_ints_rejected()[source]
test_leading_zeros()[source]
test_negative_ints_rejected()[source]
test_packed()[source]
class test.test_ipaddress.CommonTestMixin_v6[source]

Bases: test.test_ipaddress.CommonTestMixin

test_bad_packed_length()[source]
test_int()[source]
test_large_ints_rejected()[source]
test_leading_zeros()[source]
test_negative_ints_rejected()[source]
test_packed()[source]
class test.test_ipaddress.ComparisonTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

objects = [IPv4Address('0.0.0.1'), IPv4Interface('0.0.0.1/32'), IPv4Network('0.0.0.1/32'), IPv6Address('::1'), IPv6Interface('::1/128'), IPv6Network('::1/128')]
test_containment()[source]
test_foreign_type_equality()[source]
test_incompatible_versions()[source]
test_mixed_type_equality()[source]
test_mixed_type_key()[source]
test_mixed_type_ordering()[source]
v4_addresses = [IPv4Address('0.0.0.1'), IPv4Interface('0.0.0.1/32')]
v4_objects = [IPv4Address('0.0.0.1'), IPv4Interface('0.0.0.1/32'), IPv4Network('0.0.0.1/32')]
v4addr = IPv4Address('0.0.0.1')
v4intf = IPv4Interface('0.0.0.1/32')
v4net = IPv4Network('0.0.0.1/32')
v6_addresses = [IPv6Address('::1'), IPv6Interface('::1/128')]
v6_objects = [IPv6Address('::1'), IPv6Interface('::1/128'), IPv6Network('::1/128')]
v6addr = IPv6Address('::1')
v6intf = IPv6Interface('::1/128')
v6net = IPv6Network('::1/128')
class test.test_ipaddress.FactoryFunctionErrors(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase

assertFactoryError(factory, kind)[source]

Ensure a clean ValueError with the expected message

test_ip_address()[source]
test_ip_interface()[source]
test_ip_network()[source]
class test.test_ipaddress.InterfaceTestCase_v4(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase, test.test_ipaddress.NetmaskTestMixin_v4

factory

alias of IPv4Interface

class test.test_ipaddress.InterfaceTestCase_v6(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase, test.test_ipaddress.NetmaskTestMixin_v6

factory

alias of IPv6Interface

class test.test_ipaddress.IpaddrUnitTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
testAddrExclude()[source]
testAddressComparison()[source]
testAddressIntMath()[source]
testCollapsing()[source]
testCompressIPv6Address()[source]
testContains()[source]
testCopyConstructor()[source]
testEmbeddedIpv4()[source]
testEqual()[source]
testExplodeShortHandIpStr()[source]
testFancySubnetting()[source]
testForceVersion()[source]
testGetBroadcast()[source]
testGetIp()[source]
testGetNetmask()[source]
testGetNetwork()[source]
testGetNum_Addresses()[source]
testGetPrefixlen()[source]
testGetSubnetForSingle128()[source]
testGetSubnetForSingle32()[source]
testGetSubnets()[source]
testGetSupernet()[source]
testGetSupernet3()[source]
testGetSupernet4()[source]
testGetitem()[source]
testHash()[source]
testHosts()[source]
testIPBases()[source]
testIPVersion()[source]
testIPv4NetAndHostmasks()[source]
testIPv4NetworkHelpers()[source]
testIPv6AddressTooLarge()[source]
testIPv6NetworkHelpers()[source]
testIntRepresentation()[source]
testInterfaceComparison()[source]
testInternals()[source]
testInvalidIntToBytes()[source]
testIpFromInt()[source]
testIpFromPacked()[source]
testIpType()[source]
testIpv4Mapped()[source]
testMaxPrefixLength()[source]
testMissingAddressClass()[source]
testMissingAddressVersion()[source]
testMissingNetworkVersion()[source]
testNetworkComparison()[source]
testNetworkElementCaching()[source]
testNotEqual()[source]
testNth()[source]
testOverlaps()[source]
testPacked()[source]
testRepr()[source]
testReservedIpv4()[source]
testReservedIpv6()[source]
testSlash0Constructor()[source]
testSlash128Constructor()[source]
testSlash32Constructor()[source]
testStrictNetworks()[source]
testSubnet2()[source]
testSubnetFailsForLargeCidrDiff()[source]
testSubnetFailsForNegativeCidrDiff()[source]
testSummarizing()[source]
testSupernetFailsForLargeCidrDiff()[source]
testTeredo()[source]
testWithStar()[source]
testZeroNetmask()[source]
testsixtofour()[source]
class test.test_ipaddress.NetmaskTestMixin_v4[source]

Bases: test.test_ipaddress.CommonTestMixin_v4

Input validation on interfaces and networks is very similar

test_address_errors()[source]
test_netmask_errors()[source]
test_split_netmask()[source]
test_valid_netmask()[source]
class test.test_ipaddress.NetmaskTestMixin_v6[source]

Bases: test.test_ipaddress.CommonTestMixin_v6

Input validation on interfaces and networks is very similar

test_address_errors()[source]
test_netmask_errors()[source]
test_split_netmask()[source]
test_valid_netmask()[source]
class test.test_ipaddress.NetworkTestCase_v4(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase, test.test_ipaddress.NetmaskTestMixin_v4

factory

alias of IPv4Network

class test.test_ipaddress.NetworkTestCase_v6(methodName='runTest')[source]

Bases: test.test_ipaddress.BaseTestCase, test.test_ipaddress.NetmaskTestMixin_v6

factory

alias of IPv6Network

test.test_isinstance module

class test.test_isinstance.AbstractClass(bases)[source]

Bases: object

getbases()[source]
class test.test_isinstance.AbstractInstance(klass)[source]

Bases: object

getclass()[source]
class test.test_isinstance.Child[source]

Bases: test.test_isinstance.Super

class test.test_isinstance.NewChild[source]

Bases: test.test_isinstance.NewSuper

class test.test_isinstance.NewSuper[source]

Bases: object

class test.test_isinstance.Super[source]

Bases: object

class test.test_isinstance.TestIsInstanceExceptions(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bases_raises_other_than_attribute_error()[source]
test_class_has_no_bases()[source]
test_dont_mask_non_attribute_error()[source]
test_isinstance_dont_mask_non_attribute_error()[source]
test_mask_attribute_error()[source]
class test.test_isinstance.TestIsInstanceIsSubclass(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_isinstance_abstract()[source]
test_isinstance_normal()[source]
test_isinstance_recursion_limit()[source]
test_subclass_abstract()[source]
test_subclass_normal()[source]
test_subclass_recursion_limit()[source]
test_subclass_tuple()[source]
class test.test_isinstance.TestIsSubclassExceptions(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_dont_mask_non_attribute_error()[source]
test_dont_mask_non_attribute_error_in_cls_arg()[source]
test_mask_attribute_error()[source]
test_mask_attribute_error_in_cls_arg()[source]
test.test_isinstance.blowstack(fxn, arg, compare_to)[source]
test.test_isinstance.test_main()[source]

test.test_iter module

class test.test_iter.BasicIterClass(n)[source]

Bases: object

class test.test_iter.IteratingSequenceClass(n)[source]

Bases: object

class test.test_iter.SequenceClass(n)[source]

Bases: object

class test.test_iter.TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_for_loop(expr, seq, pickle=True)[source]
check_iterator(it, seq, pickle=True)[source]
check_pickle(itorg, seq)[source]
test_3720()[source]
test_builtin_filter()[source]
test_builtin_list()[source]
test_builtin_map()[source]
test_builtin_max_min()[source]
test_builtin_tuple()[source]
test_builtin_zip()[source]
test_countOf()[source]
test_exception_function()[source]
test_exception_sequence()[source]
test_extending_list_with_iterator_does_not_segfault()[source]
test_in_and_not_in()[source]
test_indexOf()[source]
test_iter_basic()[source]
test_iter_big_range()[source]
test_iter_callable()[source]
test_iter_class_for()[source]
test_iter_class_iter()[source]
test_iter_dict()[source]
test_iter_empty()[source]
test_iter_file()[source]
test_iter_for_loop()[source]
test_iter_function()[source]
test_iter_function_stop()[source]
test_iter_idempotency()[source]
test_iter_independence()[source]
test_iter_range()[source]
test_iter_string()[source]
test_iter_tuple()[source]
test_nested_comprehensions_for()[source]
test_nested_comprehensions_iter()[source]
test_new_style_iter_class()[source]
test_ref_counting_behavior()[source]
test_seq_class_for()[source]
test_seq_class_iter()[source]
test_sinkstate_callable()[source]
test_sinkstate_dict()[source]
test_sinkstate_enumerate()[source]
test_sinkstate_list()[source]
test_sinkstate_range()[source]
test_sinkstate_sequence()[source]
test_sinkstate_string()[source]
test_sinkstate_tuple()[source]
test_sinkstate_yield()[source]
test_stop_sequence()[source]
test_unicode_join_endcase()[source]
test_unpack_iter()[source]
test_writelines()[source]
test.test_iter.test_main()[source]

test.test_iterlen module

Test Iterator Length Transparency

Some functions or methods which accept general iterable arguments have optional, more efficient code paths if they know how many items to expect. For instance, map(func, iterable), will pre-allocate the exact amount of space required whenever the iterable can report its length.

The desired invariant is: len(it)==len(list(it)).

A complication is that an iterable and iterator can be the same object. To maintain the invariant, an iterator needs to dynamically update its length. For instance, an iterable such as range(10) always reports its length as ten, but it=iter(range(10)) starts at ten, and then goes to nine after next(it). Having this capability means that map() can ignore the distinction between map(func, iterable) and map(func, iter(iterable)).

When the iterable is immutable, the implementation can straight-forwardly report the original length minus the cumulative number of calls to next(). This is the case for tuples, range objects, and itertools.repeat().

Some containers become temporarily immutable during iteration. This includes dicts, sets, and collections.deque. Their implementation is equally simple though they need to permanently set their length to zero whenever there is an attempt to iterate after a length mutation.

The situation slightly more involved whenever an object allows length mutation during iteration. Lists and sequence iterators are dynamically updatable. So, if a list is extended during iteration, the iterator will continue through the new items. If it shrinks to a point before the most recent iteration, then no further items are available and the length is reported at zero.

Reversed objects can also be wrapped around mutable objects; however, any appends after the current position are ignored. Any other approach leads to confusion and possibly returning the same item more than once.

The iterators not listed above, such as enumerate and the other itertools, are not length transparent because they have no way to distinguish between iterables that report static length and iterators whose length changes with each call (i.e. the difference between enumerate(‘abc’) and enumerate(iter(‘abc’)).

class test.test_iterlen.BadLen[source]

Bases: object

class test.test_iterlen.BadLengthHint[source]

Bases: object

class test.test_iterlen.NoneLengthHint[source]

Bases: object

class test.test_iterlen.TestDeque(methodName='runTest')[source]

Bases: test.test_iterlen.TestTemporarilyImmutable, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestDequeReversed(methodName='runTest')[source]

Bases: test.test_iterlen.TestTemporarilyImmutable, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestDictItems(methodName='runTest')[source]

Bases: test.test_iterlen.TestTemporarilyImmutable, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestDictKeys(methodName='runTest')[source]

Bases: test.test_iterlen.TestTemporarilyImmutable, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestDictValues(methodName='runTest')[source]

Bases: test.test_iterlen.TestTemporarilyImmutable, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestInvariantWithoutMutations[source]

Bases: object

test_invariant()[source]
class test.test_iterlen.TestLengthHintExceptions(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_invalid_hint()[source]
test_issue1242657()[source]
class test.test_iterlen.TestList(methodName='runTest')[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations, unittest.case.TestCase

setUp()[source]
test_mutation()[source]
class test.test_iterlen.TestListReversed(methodName='runTest')[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations, unittest.case.TestCase

setUp()[source]
test_mutation()[source]
class test.test_iterlen.TestRepeat(methodName='runTest')[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestSet(methodName='runTest')[source]

Bases: test.test_iterlen.TestTemporarilyImmutable, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestTemporarilyImmutable[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations

test_immutable_during_iteration()[source]
class test.test_iterlen.TestTuple(methodName='runTest')[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestXrange(methodName='runTest')[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations, unittest.case.TestCase

setUp()[source]
class test.test_iterlen.TestXrangeCustomReversed(methodName='runTest')[source]

Bases: test.test_iterlen.TestInvariantWithoutMutations, unittest.case.TestCase

setUp()[source]

test.test_itertools module

class test.test_itertools.E(seqn)[source]

Bases: object

Test propagation of exceptions

class test.test_itertools.G(seqn)[source]

Bases: object

Sequence using __getitem__

class test.test_itertools.I(seqn)[source]

Bases: object

Sequence using iterator protocol

class test.test_itertools.Ig(seqn)[source]

Bases: object

Sequence using iterator protocol defined with a generator

test.test_itertools.L(seqn)[source]

Test multiple tiers of iterators

class test.test_itertools.LengthTransparency(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_repeat()[source]
test_repeat_with_negative_times()[source]
class test.test_itertools.N(seqn)[source]

Bases: object

Iterator missing __next__()

test.test_itertools.R(seqn)[source]

Regular generator

class test.test_itertools.RegressionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_sf_793826()[source]
test_sf_950057()[source]
class test.test_itertools.S(seqn)[source]

Bases: object

Test immediate stop

class test.test_itertools.SizeofTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_sizeof(test, o, size)
setUp()[source]
test_combinations_sizeof()[source]
test_combinations_with_replacement_sizeof()[source]
test_permutations_sizeof()[source]
test_product_sizeof()[source]
class test.test_itertools.StopNow[source]

Bases: object

Class emulating an empty iterable.

class test.test_itertools.SubclassWithKwargsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_keywords_in_subclass()[source]
class test.test_itertools.TestBasicOps(methodName='runTest')[source]

Bases: unittest.case.TestCase

pickletest(it, stop=4, take=1, compare=None)[source]

Test that an iterator is the same after pickling, also when part-consumed

test_StopIteration()[source]
test_accumulate()[source]
test_bug_7244()[source]
test_chain()[source]
test_chain_from_iterable()[source]
test_chain_reducible()[source]
test_combinations()[source]
test_combinations_tuple_reuse()[source]
test_combinations_with_replacement()[source]
test_combinations_with_replacement_tuple_reuse()[source]
test_combinatorics()[source]
test_compress()[source]
test_count()[source]
test_count_with_stride()[source]
test_cycle()[source]
test_dropwhile()[source]
test_filter()[source]
test_filterfalse()[source]
test_groupby()[source]
test_islice()[source]
test_map()[source]
test_permutations()[source]
test_permutations_tuple_reuse()[source]
test_product()[source]
test_product_pickling()[source]
test_product_tuple_reuse()[source]
test_repeat()[source]
test_repeat_with_negative_times()[source]
test_starmap()[source]
test_takewhile()[source]
test_tee()[source]
test_tee_del_backward()[source]
test_zip()[source]
test_zip_longest_pickling()[source]
test_zip_longest_tuple_reuse()[source]
test_zip_tuple_reuse()[source]
test_ziplongest()[source]
class test.test_itertools.TestExamples(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_accumulate()[source]
test_accumulate_reducible()[source]
test_chain()[source]
test_chain_from_iterable()[source]
test_combinations()[source]
test_combinations_with_replacement()[source]
test_compress()[source]
test_count()[source]
test_cycle()[source]
test_dropwhile()[source]
test_filter()[source]
test_filterfalse()[source]
test_groupby()[source]
test_islice()[source]
test_map()[source]
test_permutations()[source]
test_product()[source]
test_repeat()[source]
test_stapmap()[source]
test_takewhile()[source]
test_zip()[source]
test_zip_longest()[source]
class test.test_itertools.TestGC(methodName='runTest')[source]

Bases: unittest.case.TestCase

makecycle(iterator, container)[source]
test_accumulate()[source]
test_chain()[source]
test_chain_from_iterable()[source]
test_combinations()[source]
test_combinations_with_replacement()[source]
test_compress()[source]
test_count()[source]
test_cycle()[source]
test_dropwhile()[source]
test_filter()[source]
test_filterfalse()[source]
test_groupby()[source]
test_islice()[source]
test_issue2246()[source]
test_map()[source]
test_permutations()[source]
test_product()[source]
test_repeat()[source]
test_starmap()[source]
test_takewhile()[source]
test_zip()[source]
test_zip_longest()[source]
class test.test_itertools.TestVariousIteratorArgs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_accumulate()[source]
test_chain()[source]
test_compress()[source]
test_cycle()[source]
test_dropwhile()[source]
test_filter()[source]
test_filterfalse()[source]
test_groupby()[source]
test_islice()[source]
test_map()[source]
test_product()[source]
test_starmap()[source]
test_takewhile()[source]
test_tee()[source]
test_zip()[source]
test_ziplongest()[source]
class test.test_itertools.X(seqn)[source]

Bases: object

Missing __getitem__ and __iter__

test.test_itertools.errfunc(*args)[source]

Test function that raises an error

test.test_itertools.fact(n)[source]

Factorial

test.test_itertools.gen3()[source]

Non-restartable source sequence

test.test_itertools.irange(n)[source]
test.test_itertools.isEven(x)[source]

Test predicate

test.test_itertools.isOdd(x)[source]

Test predicate

test.test_itertools.lzip(*args)[source]
test.test_itertools.onearg(x)[source]

Test function of one argument

test.test_itertools.prod(iterable)[source]
test.test_itertools.take(n, seq)[source]

Convenience function for partially consuming a long of infinite iterable

test.test_itertools.testR(r)[source]
test.test_itertools.testR2(r)[source]
test.test_itertools.test_main(verbose=None)[source]
test.test_itertools.tupleize(*args)[source]
test.test_itertools.underten(x)[source]

test.test_keyword module

class test.test_keyword.TestKeywordGeneration(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_empty_grammar_results_in_no_keywords()[source]
test_grammar()[source]
test_keywords_py_without_markers_produces_error()[source]
test_missing_grammar_file_produces_error()[source]
test_missing_keywords_py_file_produces_error()[source]
test_real_grammar_and_keyword_file()[source]
class test.test_keyword.Test_iskeyword(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_changing_the_kwlist_does_not_affect_iskeyword()[source]
test_none_value_is_not_a_keyword()[source]
test_true_is_a_keyword()[source]
test_uppercase_true_is_not_a_keyword()[source]

test.test_keywordonlyarg module

Unit tests for the keyword only argument specified in PEP 3102.

class test.test_keywordonlyarg.Foo(*, k1, k2=0)[source]

Bases: object

set(p1, *, k1, k2)[source]
sum()[source]
class test.test_keywordonlyarg.KeywordOnlyArgTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertRaisesSyntaxError(codestr)[source]
testFunctionCall()[source]
testKwDefaults()[source]
testRaiseErrorFuncallWithUnexpectedKeywordArgument()[source]
testSyntaxErrorForFunctionCall()[source]
testSyntaxErrorForFunctionDefinition()[source]
testSyntaxForManyArguments()[source]
testTooManyPositionalErrorMessage()[source]
test_default_evaluation_order()[source]
test_issue13343()[source]
test_kwonly_methods()[source]
test_mangling()[source]
test.test_keywordonlyarg.keywordonly_and_kwarg_sum(*, k1, k2, **kwarg)[source]
test.test_keywordonlyarg.keywordonly_nodefaults_sum(*, k1, k2)[source]
test.test_keywordonlyarg.keywordonly_sum(*, k1=0, k2)[source]
test.test_keywordonlyarg.mixedargs_sum(a, b=0, *arg, k1, k2=0)[source]
test.test_keywordonlyarg.mixedargs_sum2(a, b=0, *arg, k1, k2=0, **kwargs)[source]
test.test_keywordonlyarg.posonly_sum(pos_arg1, *arg, **kwarg)[source]
test.test_keywordonlyarg.sortnum(*nums, reverse=False)[source]
test.test_keywordonlyarg.sortwords(*words, reverse=False, **kwargs)[source]
test.test_keywordonlyarg.test_main()[source]

test.test_kqueue module

test.test_largefile module

Test largefile support on system where this makes sense.

class test.test_largefile.CLargeFileTest(methodName='runTest')[source]

Bases: test.test_largefile.LargeFileTest, unittest.case.TestCase

static open()
open(file, mode=’r’, buffering=-1, encoding=None,
errors=None, newline=None, closefd=True, opener=None) -> file object

Open file and return a stream. Raise IOError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for creating and writing to a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register or run ‘help(codecs.Codec)’ for a list of the permitted encoding error strings.

newline controls how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’ or ‘n’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_largefile.LargeFileTest[source]

Bases: object

Test that each file function works as expected for large (i.e. > 2GB) files.

setUp()[source]
classmethod tearDownClass()[source]
test_lseek()[source]
test_osstat()[source]
test_seek_read()[source]
test_seekable()[source]
test_truncate()[source]
class test.test_largefile.PyLargeFileTest(methodName='runTest')[source]

Bases: test.test_largefile.LargeFileTest, unittest.case.TestCase

static open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream. Raise OSError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for exclusive creation of a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the str name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register for a list of the permitted encoding error strings.

newline is a string controlling how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

closedfd is a bool. If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

The newly created file is non-inheritable.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

test.test_largefile.setUpModule()[source]
test.test_largefile.tearDownModule()[source]

test.test_lib2to3 module

test.test_lib2to3.suite()[source]
test.test_lib2to3.test_main()[source]

test.test_linecache module

Tests for the linecache module

class test.test_linecache.LineCacheTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_checkcache()[source]
test_clearcache()[source]
test_getline()[source]
test_no_ending_newline()[source]
test.test_linecache.test_main()[source]

test.test_list module

class test.test_list.ListTest(methodName='runTest')[source]

Bases: test.list_tests.CommonTest

test_basic()[source]
test_identity()[source]
test_iterator_pickle()[source]
test_len()[source]
test_no_comdat_folding()[source]
test_overflow()[source]
test_repr_large()[source]
test_reversed_pickle()[source]
test_truth()[source]
type2test

alias of list

test.test_list.test_main(verbose=None)[source]

test.test_listcomps module

test.test_listcomps.test_main(verbose=None)[source]

test.test_locale module

class test.test_locale.BaseCookedTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_locale.BaseFormattingTest[source]

Bases: object

class test.test_locale.BaseLocalizedTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
classmethod setUpClass()[source]
class test.test_locale.CCookedTest(methodName='runTest')[source]

Bases: test.test_locale.BaseCookedTest

cooked_values = {'mon_grouping': [], 'p_cs_precedes': 127, 'mon_decimal_point': '', 'int_frac_digits': 127, 'n_sign_posn': 127, 'n_cs_precedes': 127, 'int_curr_symbol': '', 'p_sep_by_space': 127, 'p_sign_posn': 127, 'decimal_point': '.', 'currency_symbol': '', 'negative_sign': '', 'frac_digits': 127, 'n_sep_by_space': 127, 'grouping': [], 'positive_sign': '', 'thousands_sep': '', 'mon_thousands_sep': ''}
class test.test_locale.EnUSCookedTest(methodName='runTest')[source]

Bases: test.test_locale.BaseCookedTest

cooked_values = {'mon_grouping': [3, 3, 0], 'p_cs_precedes': 1, 'mon_decimal_point': '.', 'int_frac_digits': 2, 'n_sign_posn': 1, 'n_cs_precedes': 1, 'int_curr_symbol': 'USD ', 'p_sep_by_space': 0, 'p_sign_posn': 1, 'decimal_point': '.', 'currency_symbol': '$', 'negative_sign': '-', 'frac_digits': 2, 'n_sep_by_space': 0, 'grouping': [3, 3, 0], 'positive_sign': '', 'thousands_sep': ',', 'mon_thousands_sep': ','}
class test.test_locale.EnUSNumberFormatting[source]

Bases: test.test_locale.BaseFormattingTest

setUp()[source]
test_complex_formatting()[source]
test_grouping()[source]
test_grouping_and_padding()[source]
test_integer_grouping()[source]
test_integer_grouping_and_padding()[source]
test_padding()[source]
test_simple()[source]
class test.test_locale.FrFRCookedTest(methodName='runTest')[source]

Bases: test.test_locale.BaseCookedTest

cooked_values = {'mon_grouping': [3, 3, 0], 'p_cs_precedes': 0, 'mon_decimal_point': ',', 'int_frac_digits': 2, 'n_sign_posn': 1, 'n_cs_precedes': 0, 'int_curr_symbol': 'EUR ', 'p_sep_by_space': 1, 'p_sign_posn': 1, 'decimal_point': ',', 'currency_symbol': '€', 'negative_sign': '-', 'frac_digits': 2, 'n_sep_by_space': 1, 'grouping': [3, 3, 0], 'positive_sign': '', 'thousands_sep': ' ', 'mon_thousands_sep': ' '}
class test.test_locale.NormalizeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check(localename, expected)[source]
test_c()[source]
test_devanagari_modifier()[source]
test_empty()[source]
test_english()[source]
test_euc_encoding()[source]
test_euro_modifier()[source]
test_hyphenated_encoding()[source]
test_japanese()[source]
test_latin_modifier()[source]
test_locale_alias()[source]
test_valencia_modifier()[source]
class test.test_locale.TestCNumberFormatting(methodName='runTest')[source]

Bases: test.test_locale.CCookedTest, test.test_locale.BaseFormattingTest

test_grouping()[source]
test_grouping_and_padding()[source]
class test.test_locale.TestCollation(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_strcoll()[source]
test_strxfrm()[source]
class test.test_locale.TestEnUSCollation(methodName='runTest')[source]

Bases: test.test_locale.BaseLocalizedTest, test.test_locale.TestCollation

locale_type = 0
setUp()[source]
test_strcoll_with_diacritic()[source]
test_strxfrm_with_diacritic()[source]
class test.test_locale.TestEnUSNumberFormatting(methodName='runTest')[source]

Bases: test.test_locale.EnUSCookedTest, test.test_locale.EnUSNumberFormatting

setUp()[source]
test_currency()[source]
class test.test_locale.TestFormatPatternArg(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_onlyOnePattern()[source]
class test.test_locale.TestFrFRNumberFormatting(methodName='runTest')[source]

Bases: test.test_locale.FrFRCookedTest, test.test_locale.BaseFormattingTest

test_currency()[source]
test_decimal_point()[source]
test_grouping()[source]
test_grouping_and_padding()[source]
test_integer_grouping()[source]
test_integer_grouping_and_padding()[source]
class test.test_locale.TestLocaleFormatString(methodName='runTest')[source]

Bases: unittest.case.TestCase

General tests on locale.format_string

test_mapping()[source]
test_percent_escape()[source]
class test.test_locale.TestMiscellaneous(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_getpreferredencoding()[source]
test_getsetlocale_issue1813()[source]
test_invalid_iterable_in_localetuple()[source]
test_invalid_locale_format_in_localetuple()[source]
test_setlocale_category()[source]
test_strcoll_3303()[source]
class test.test_locale.TestNumberFormatting(methodName='runTest')[source]

Bases: test.test_locale.BaseLocalizedTest, test.test_locale.EnUSNumberFormatting

locale_type = 4
setUp()[source]

test.test_logging module

Test harness for the logging module. Run all tests.

Copyright (C) 2001-2013 Vinay Sajip. All Rights Reserved.

class test.test_logging.BadStream[source]

Bases: object

write(data)[source]
class test.test_logging.BaseFileTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Base class for handler tests that write log files

assertLogFile(filename)[source]

Assert a log file is there and register it for deletion

setUp()[source]
tearDown()[source]
class test.test_logging.BaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Base class for logging tests.

assert_log_lines(expected_values, stream=None, pat=None)[source]

Match the collected log lines against the regular expression self.expected_log_pat, and compare the extracted group values to the expected_values list of tuples.

expected_log_pat = '^([\\w.]+) -> (\\w+): (\\d+)$'
log_format = '%(name)s -> %(levelname)s: %(message)s'
message_num = 0
next_message()[source]

Generate a message consisting solely of an auto-incrementing integer.

setUp()[source]

Setup the default logging stream to an internal StringIO instance, so that we can examine log output as we want.

tearDown()[source]

Remove our logging stream, and restore the original logging level.

class test.test_logging.BasicConfigTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test suite for logging.basicConfig.

cleanup()[source]
setUp()[source]
tearDown()[source]
test_critical()[source]
test_datefmt()[source]
test_debug()[source]
test_error()[source]
test_filemode()[source]
test_filename()[source]
test_format()[source]
test_handlers()[source]
test_incompatible()[source]
test_info()[source]
test_level()[source]
test_log()[source]
test_no_kwargs()[source]
test_stream()[source]
test_strformatstyle()[source]
test_stringtemplatestyle()[source]
test_style()[source]
test_warning()[source]
class test.test_logging.BasicFilterTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test the bundled Filter class.

test_callable_filter()[source]
test_empty_filter()[source]
test_filter()[source]
class test.test_logging.BufferingFormatterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_custom()[source]
test_default()[source]
class test.test_logging.BuiltinLevelsTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test builtin levels and their inheritance.

test_flat()[source]
test_nested_explicit()[source]
test_nested_inherited()[source]
test_nested_with_virtual_parent()[source]
test_regression_22386()[source]

See issue #22386 for more information.

class test.test_logging.ChildLoggerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_child_loggers()[source]
class test.test_logging.ConfigDictTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Reading logging config from a dictionary.

apply_config(conf)[source]
config0 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING', 'handlers': ['hand1']}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'version': 1}
config1 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config10 = {'root': {'level': 'WARNING', 'handlers': ['hand1']}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'filters': ['filt1'], 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'filters': ['filt1']}}, 'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'filters': {'filt1': {'name': 'compiler.parser'}}, 'version': 1}
config11 = {'root': {'level': 'WARNING'}, 'handlers': {'hand1': 'cfg://handler_configs[hand1]'}, 'handler_configs': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'true_formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'formatters': 'cfg://true_formatters', 'version': 1, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}}
config12 = {'root': {'level': 'WARNING'}, 'handlers': {'hand1': 'cfg://handler_configs[hand1]'}, 'handler_configs': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'true_formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'formatters': 'cfg://true_formatters', 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}}
config13 = {'root': {'level': 'WARNING'}, 'handlers': {'hand1': 'cfg://handler_configs[hand1]'}, 'handler_configs': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'true_formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'formatters': 'cfg://true_formatters', 'version': 2, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}}
config14 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING', 'handlers': ['hand1']}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', '.': {'terminator': '!\n', 'foo': 'bar'}, 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'version': 1}
config1a = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING', 'handlers': ['hand1']}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG'}}, 'version': 1}
config2 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdbout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config2a = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NTOSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config2b = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WRANING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config3 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'misspelled_name'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config4 = {'formatters': {'form1': {'()': 'test.test_logging.ExceptionFormatter', 'format': '%(levelname)s:%(name)s:%(message)s'}}, 'root': {'level': 'NOTSET', 'handlers': ['hand1']}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'version': 1}
config4a = {'formatters': {'form1': {'()': <class 'test.test_logging.ExceptionFormatter'>, 'format': '%(levelname)s:%(name)s:%(message)s'}, 'form3': {'()': <function formatFunc at 0x22F6D858>, 'format': '%(levelname)s:%(name)s:%(message)s'}, 'form2': {'()': 'test.test_logging.formatFunc', 'format': '%(levelname)s:%(name)s:%(message)s'}}, 'root': {'level': 'NOTSET', 'handlers': ['hand1']}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}, 'hand2': {'()': <function handlerFunc at 0x22F73150>}}, 'version': 1}
config5 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'test.test_logging.CustomHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config6 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'9': 'invalid parameter name', 'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'test.test_logging.CustomHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config7 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.lexer': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1}
config8 = {'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'disable_existing_loggers': False, 'loggers': {'compiler.lexer': {}, 'compiler': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'version': 1}
config8a = {'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'disable_existing_loggers': True, 'loggers': {'compiler.lexer': {}, 'compiler': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'version': 1}
config9 = {'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'NOTSET'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'WARNING', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'WARNING', 'handlers': ['hand1']}}, 'version': 1}
config9a = {'handlers': {'hand1': {'level': 'WARNING'}}, 'incremental': True, 'loggers': {'compiler.parser': {'level': 'INFO'}}, 'version': 1}
config9b = {'handlers': {'hand1': {'level': 'INFO'}}, 'incremental': True, 'loggers': {'compiler.parser': {'level': 'INFO'}}, 'version': 1}
expected_log_pat = '^(\\w+) \\+\\+ (\\w+)$'
out_of_order = {'formatters': {'mySimpleFormatter': {'format': '%(asctime)s (%(name)s) %(levelname)s: %(message)s', 'style': '$'}}, 'handlers': {'fileGlobal': {'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'mySimpleFormatter'}, 'bufferGlobal': {'target': 'fileGlobal', 'capacity': 5, 'class': 'logging.handlers.MemoryHandler', 'level': 'DEBUG', 'formatter': 'mySimpleFormatter'}}, 'loggers': {'mymodule': {'level': 'DEBUG', 'handlers': ['bufferGlobal'], 'propagate': 'true'}}, 'version': 1}
setup_via_listener(text, verify=None)[source]
test_baseconfig()[source]
test_config0_ok()[source]
test_config11_ok()[source]
test_config12_failure()[source]
test_config13_failure()[source]
test_config14_ok()[source]
test_config1_ok(config={'formatters': {'form1': {'format': '%(levelname)s ++ %(message)s'}}, 'root': {'level': 'WARNING'}, 'handlers': {'hand1': {'stream': 'ext://sys.stdout', 'level': 'NOTSET', 'class': 'logging.StreamHandler', 'formatter': 'form1'}}, 'loggers': {'compiler.parser': {'level': 'DEBUG', 'handlers': ['hand1']}}, 'version': 1})[source]
test_config2_failure()[source]
test_config2a_failure()[source]
test_config2b_failure()[source]
test_config3_failure()[source]
test_config4_ok()[source]
test_config4a_ok()[source]
test_config5_ok()[source]
test_config6_failure()[source]
test_config7_ok()[source]
test_config_10_ok()[source]
test_config_8_ok()[source]
test_config_8a_ok()[source]
test_config_9_ok()[source]
test_listen_config_10_ok()[source]
test_listen_config_1_ok()[source]
test_listen_verify()[source]
test_out_of_order()[source]
class test.test_logging.ConfigFileTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Reading logging config from a .ini-style config file.

apply_config(conf, **kwargs)[source]
config0 = '\n [loggers]\n keys=root\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=hand1\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
config1 = '\n [loggers]\n keys=root,parser\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=\n\n [logger_parser]\n level=DEBUG\n handlers=hand1\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
config1a = '\n [loggers]\n keys=root,parser\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=hand1\n\n [logger_parser]\n level=DEBUG\n handlers=\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
config2 = '\n [loggers]\n keys=root,parser\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=\n\n [logger_parser]\n level=DEBUG\n handlers=hand1\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stbout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
config3 = '\n [loggers]\n keys=root,parser\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=\n\n [logger_parser]\n level=DEBUG\n handlers=hand1\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=misspelled_name\n args=(sys.stdout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
config4 = '\n [loggers]\n keys=root\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=NOTSET\n handlers=hand1\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [formatter_form1]\n class=test.test_logging.ExceptionFormatter\n format=%(levelname)s:%(name)s:%(message)s\n datefmt=\n '
config5 = '\n [loggers]\n keys=root,parser\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=\n\n [logger_parser]\n level=DEBUG\n handlers=hand1\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=logging.StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
config6 = '\n [loggers]\n keys=root,parser\n\n [handlers]\n keys=hand1, hand2\n\n [formatters]\n keys=form1, form2\n\n [logger_root]\n level=WARNING\n handlers=\n\n [logger_parser]\n level=DEBUG\n handlers=hand1\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [handler_hand2]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stderr,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n\n [formatter_form2]\n format=%(message)s\n datefmt=\n '
config7 = '\n [loggers]\n keys=root,parser,compiler\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=hand1\n\n [logger_compiler]\n level=DEBUG\n handlers=\n propagate=1\n qualname=compiler\n\n [logger_parser]\n level=DEBUG\n handlers=\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout,)\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n '
disable_test = '\n [loggers]\n keys=root\n\n [handlers]\n keys=screen\n\n [formatters]\n keys=\n\n [logger_root]\n level=DEBUG\n handlers=screen\n\n [handler_screen]\n level=DEBUG\n class=StreamHandler\n args=(sys.stdout,)\n formatter=\n '
expected_log_pat = '^(\\w+) \\+\\+ (\\w+)$'
test_config0_ok()[source]
test_config0_using_cp_ok()[source]
test_config1_ok(config='\n [loggers]\n keys=root, parser\n\n [handlers]\n keys=hand1\n\n [formatters]\n keys=form1\n\n [logger_root]\n level=WARNING\n handlers=\n\n [logger_parser]\n level=DEBUG\n handlers=hand1\n propagate=1\n qualname=compiler.parser\n\n [handler_hand1]\n class=StreamHandler\n level=NOTSET\n formatter=form1\n args=(sys.stdout, )\n\n [formatter_form1]\n format=%(levelname)s ++ %(message)s\n datefmt=\n ')[source]
test_config2_failure()[source]
test_config3_failure()[source]
test_config4_ok()[source]
test_config5_ok()[source]
test_config6_ok()[source]
test_config7_ok()[source]
test_logger_disabling()[source]
class test.test_logging.CustomHandler(stream=None)[source]

Bases: logging.StreamHandler

class test.test_logging.CustomLevelsAndFiltersTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test various filtering possibilities with custom logging levels.

expected_log_pat = '^[\\w.]+ -> (\\w+): (\\d+)$'
log_at_all_levels(logger)[source]
setUp()[source]
test_handler_filter()[source]
test_logger_filter()[source]
test_specific_filters()[source]
class test.test_logging.DatagramHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test for DatagramHandler.

handle_datagram(request)[source]
setUp()[source]

Set up a UDP server to receive log messages, and a DatagramHandler pointing to that server’s address and port.

tearDown()[source]

Shutdown the UDP server.

test_output()[source]
class test.test_logging.DerivedLogRecord(name, level, pathname, lineno, msg, args, exc_info, func=None, sinfo=None, **kwargs)[source]

Bases: logging.LogRecord

class test.test_logging.EncodingTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_encoding_cyrillic_unicode()[source]
test_encoding_plain_file()[source]
class test.test_logging.ExceptionFormatter(fmt=None, datefmt=None, style='%')[source]

Bases: logging.Formatter

A special exception formatter.

formatException(ei)[source]
class test.test_logging.ExceptionTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_formatting()[source]
class test.test_logging.FakeHandler(identifier, called)[source]

Bases: object

record_call(identifier, method_name, called)[source]
class test.test_logging.FileHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseFileTest

test_delay()[source]
class test.test_logging.FormatterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

get_record(name=None)[source]
setUp()[source]
test_braces()[source]
test_dollars()[source]
test_invalid_style()[source]
test_percent()[source]
test_time()[source]
class test.test_logging.GarrulousFilter(name='')[source]

Bases: logging.Filter

A filter which blocks garrulous messages.

filter(record)[source]
class test.test_logging.HTTPHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test for HTTPHandler.

PEMFILE = '-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAKBgQDGT4xS5r91rbLJQK2nUDenBhBG6qFk+bVOjuAGC/LSHlAoBnvG\nzQG3agOG+e7c5z2XT8m2ktORLqG3E4mYmbxgyhDrzP6ei2Anc+pszmnxPoK3Puh5\naXV+XKt0bU0C1m2+ACmGGJ0t3P408art82nOxBw8ZHgIg9Dtp6xIUCyOqwIDAQAB\nAoGBAJFTnFboaKh5eUrIzjmNrKsG44jEyy+vWvHN/FgSC4l103HxhmWiuL5Lv3f7\n0tMp1tX7D6xvHwIG9VWvyKb/Cq9rJsDibmDVIOslnOWeQhG+XwJyitR0pq/KlJIB\n5LjORcBw795oKWOAi6RcOb1ON59tysEFYhAGQO9k6VL621gRAkEA/Gb+YXULLpbs\npiXN3q4zcHzeaVANo69tUZ6TjaQqMeTxE4tOYM0G0ZoSeHEdaP59AOZGKXXNGSQy\n2z/MddcYGQJBAMkjLSYIpOLJY11ja8OwwswFG2hEzHe0cS9bzo++R/jc1bHA5R0Y\ni6vA5iPi+wopPFvpytdBol7UuEBe5xZrxWMCQQCWxELRHiP2yWpEeLJ3gGDzoXMN\nPydWjhRju7Bx3AzkTtf+D6lawz1+eGTuEss5i0JKBkMEwvwnN2s1ce+EuF4JAkBb\nE96h1lAzkVW5OAfYOPY8RCPA90ZO/hoyg7PpSxR0ECuDrgERR8gXIeYUYfejBkEa\nrab4CfRoVJKKM28Yq/xZAkBvuq670JRCwOgfUTdww7WpdOQBYPkzQccsKNCslQW8\n/DyW6y06oQusSENUvynT6dr3LJxt/NgZPhZX2+k1eYDV\n-----END RSA PRIVATE KEY-----\n-----BEGIN CERTIFICATE-----\nMIICGzCCAYSgAwIBAgIJAIq84a2Q/OvlMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV\nBAMTCWxvY2FsaG9zdDAeFw0xMTA1MjExMDIzMzNaFw03NTAzMjEwMzU1MTdaMBQx\nEjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\nxk+MUua/da2yyUCtp1A3pwYQRuqhZPm1To7gBgvy0h5QKAZ7xs0Bt2oDhvnu3Oc9\nl0/JtpLTkS6htxOJmJm8YMoQ68z+notgJ3PqbM5p8T6Ctz7oeWl1flyrdG1NAtZt\nvgAphhidLdz+NPGq7fNpzsQcPGR4CIPQ7aesSFAsjqsCAwEAAaN1MHMwHQYDVR0O\nBBYEFLWaUPO6N7efGiuoS9i3DVYcUwn0MEQGA1UdIwQ9MDuAFLWaUPO6N7efGiuo\nS9i3DVYcUwn0oRikFjAUMRIwEAYDVQQDEwlsb2NhbGhvc3SCCQCKvOGtkPzr5TAM\nBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAMK5whPjLNQK1Ivvk88oqJqq\n4f889OwikGP0eUhOBhbFlsZs+jq5YZC2UzHz+evzKBlgAP1u4lP/cB85CnjvWqM+\n1c/lywFHQ6HOdDeQ1L72tSYMrNOG4XNmLn0h7rx6GoTU7dcFRfseahBCq8mv0IDt\nIRbTpvlHWPjsSvHz0ZOH\n-----END CERTIFICATE-----'
handle_request(request)[source]
setUp()[source]

Set up an HTTP server to receive log messages, and a HTTPHandler pointing to that server’s address and port.

test_output()[source]
class test.test_logging.HandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_builtin_handlers()[source]
test_name()[source]
test_race()[source]
class test.test_logging.LastResortTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_last_resort()[source]
class test.test_logging.LogRecordFactoryTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

setUp()[source]
tearDown()[source]
test_logrecord_class()[source]
class test.test_logging.LogRecordTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_dict_arg()[source]
test_multiprocessing()[source]
test_optional()[source]
test_str_rep()[source]
class test.test_logging.LoggerAdapterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_critical()[source]
test_exception()[source]
test_has_handlers()[source]
test_is_enabled_for()[source]
class test.test_logging.LoggerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

setUp()[source]
test_exception()[source]
test_find_caller_with_stack_info()[source]
test_has_handlers()[source]
test_has_handlers_no_propagate()[source]
test_invalid_names()[source]
test_is_enabled_for()[source]
test_log_invalid_level_no_raise()[source]
test_log_invalid_level_with_raise()[source]
test_make_record_with_extra_no_overwrite()[source]
test_make_record_with_extra_overwrite()[source]
test_root_logger_aliases()[source]
test_set_invalid_level()[source]
class test.test_logging.ManagerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_manager_loggerclass()[source]
test_set_log_record_factory()[source]
class test.test_logging.MemoryHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Tests for the MemoryHandler.

expected_log_pat = '^[\\w.]+ -> (\\w+): (\\d+)$'
setUp()[source]
tearDown()[source]
test_flush()[source]
class test.test_logging.MemoryTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test memory persistence of logger objects.

setUp()[source]

Create a dict to remember potentially destroyed objects.

test_persistent_loggers()[source]
class test.test_logging.ModuleLevelMiscTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test suite for some module level methods.

test_critical()[source]
test_debug()[source]
test_disable()[source]
test_error()[source]
test_info()[source]
test_log()[source]
test_logging_at_shutdown()[source]
test_set_logger_class()[source]
test_warning()[source]
class test.test_logging.NTEventLogHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_basic()[source]
class test.test_logging.QueueHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

expected_log_pat = '^[\\w.]+ -> (\\w+): (\\d+)$'
setUp()[source]
tearDown()[source]
test_queue_handler()[source]
test_queue_listener()[source]
class test.test_logging.RecordingHandler(*args, **kwargs)[source]

Bases: logging.NullHandler

handle(record)[source]

Keep track of all the emitted records.

class test.test_logging.RotatingFileHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseFileTest

next_rec()[source]
test_file_created()[source]
test_rollover_filenames()[source]
test_rotator()[source]
test_should_not_rollover()[source]
test_should_rollover()[source]
class test.test_logging.SMTPHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

TIMEOUT = 8.0
process_message(*args)[source]
test_basic()[source]
class test.test_logging.ShutdownTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test suite for the shutdown method.

raise_error(error)[source]
setUp()[source]
test_no_failure()[source]
test_with_ioerror_in_acquire()[source]
test_with_ioerror_in_close()[source]
test_with_ioerror_in_flush()[source]
test_with_other_error_in_acquire_with_raise()[source]
test_with_other_error_in_acquire_without_raise()[source]
test_with_other_error_in_close_with_raise()[source]
test_with_other_error_in_close_without_raise()[source]
test_with_other_error_in_flush_with_raise()[source]
test_with_other_error_in_flush_without_raise()[source]
test_with_valueerror_in_acquire()[source]
test_with_valueerror_in_close()[source]
test_with_valueerror_in_flush()[source]
class test.test_logging.SocketHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test for SocketHandler objects.

handle_socket(request)[source]
setUp()[source]

Set up a TCP server to receive log messages, and a SocketHandler pointing to that server’s address and port.

tearDown()[source]

Shutdown the TCP server.

test_noserver()[source]
test_output()[source]
class test.test_logging.StreamHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_error_handling()[source]
class test.test_logging.SysLogHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

Test for SysLogHandler using UDP.

handle_datagram(request)[source]
setUp()[source]

Set up a UDP server to receive log messages, and a SysLogHandler pointing to that server’s address and port.

tearDown()[source]

Shutdown the UDP server.

test_output()[source]
class test.test_logging.TestBufferingFormatter(linefmt=None)[source]

Bases: logging.BufferingFormatter

formatFooter(records)[source]
formatHeader(records)[source]
class test.test_logging.TestStreamHandler(stream=None)[source]

Bases: logging.StreamHandler

handleError(record)[source]
class test.test_logging.TimedRotatingFileHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.BaseFileTest

test_compute_rollover_D(when='D', exp=86400)
test_compute_rollover_H(when='H', exp=3600)
test_compute_rollover_M(when='M', exp=60)
test_compute_rollover_MIDNIGHT(when='MIDNIGHT', exp=86400)
test_compute_rollover_S(when='S', exp=1)
test_compute_rollover_W0(when='W0', exp=432000)
test_compute_rollover_daily_attime()[source]
test_compute_rollover_weekly_attime()[source]
test_invalid()[source]
test_rollover()[source]
class test.test_logging.UTC[source]

Bases: datetime.tzinfo

dst(dt)
tzname(dt)[source]
utcoffset(dt)[source]
class test.test_logging.UnixDatagramHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.DatagramHandlerTest

Test for DatagramHandler using Unix sockets.

setUp()[source]
tearDown()[source]
class test.test_logging.UnixSocketHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.SocketHandlerTest

Test for SocketHandler with unix sockets.

setUp()[source]
tearDown()[source]
class test.test_logging.UnixSysLogHandlerTest(methodName='runTest')[source]

Bases: test.test_logging.SysLogHandlerTest

Test for SysLogHandler with Unix sockets.

setUp()[source]
tearDown()[source]
class test.test_logging.VerySpecificFilter(name='')[source]

Bases: logging.Filter

A filter which blocks sociable and taciturn messages.

filter(record)[source]
class test.test_logging.WarningsTest(methodName='runTest')[source]

Bases: test.test_logging.BaseTest

test_warnings()[source]
test_warnings_no_handlers()[source]
test.test_logging.formatFunc(format, datefmt=None)[source]
test.test_logging.handlerFunc()[source]
test.test_logging.secs(**kw)[source]
test.test_logging.test_compute_rollover(self, when='W0', exp=432000)[source]

test.test_long module

class test.test_long.Frm(format, *args)[source]

Bases: object

class test.test_long.LongTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_bitop_identities_1(x)[source]
check_bitop_identities_2(x, y)[source]
check_bitop_identities_3(x, y, z)[source]
check_division(x, y)[source]
check_float_conversion(n)[source]
check_format_1(x)[source]
check_truediv(a, b, skip_small=True)[source]

Verify that the result of a/b is correctly rounded, by comparing it with a pure Python implementation of correctly rounded division. b should be nonzero.

getran(ndigits)[source]
getran2(ndigits)[source]
slow_format(x, base)[source]
test__format__()[source]
test_access_to_nonexistent_digit_0()[source]
test_bit_length()[source]
test_bitop_identities()[source]
test_conversion()[source]
test_correctly_rounded_true_division()[source]
test_division()[source]
test_float_conversion()[source]
test_float_overflow()[source]
test_format()[source]
test_from_bytes()[source]
test_karatsuba()[source]
test_logs()[source]
test_long()[source]
test_mixed_compares()[source]
test_nan_inf()[source]
test_round()[source]
test_shift_bool()[source]
test_small_ints()[source]
test_to_bytes()[source]
test_true_division()[source]
test.test_long.int_to_float(n)[source]

Correctly-rounded integer-to-float conversion.

test.test_long.test_main()[source]
test.test_long.truediv(a, b)[source]

Correctly-rounded true division for integers.

test.test_longexp module

class test.test_longexp.LongExpText(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_longexp()[source]
test.test_longexp.test_main()[source]

test.test_lzma module

class test.test_lzma.CompressDecompressFunctionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_args()[source]
test_decompress_bad_input()[source]
test_decompress_good_input()[source]
test_decompress_incomplete_input()[source]
test_decompress_memlimit()[source]
test_decompress_multistream()[source]
test_decompress_multistream_trailing_junk()[source]
test_decompress_trailing_junk()[source]
test_roundtrip()[source]
class test.test_lzma.CompressorDecompressorTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_filter_spec()[source]
test_compressor_bigmem()
test_decompressor_after_eof()[source]
test_decompressor_alone()[source]
test_decompressor_auto()[source]
test_decompressor_bad_input()[source]
test_decompressor_bigmem()
test_decompressor_chunks()[source]
test_decompressor_memlimit()[source]
test_decompressor_multistream()[source]
test_decompressor_raw_1()[source]
test_decompressor_raw_2()[source]
test_decompressor_raw_3()[source]
test_decompressor_raw_4()[source]
test_decompressor_unused_data()[source]
test_decompressor_xz()[source]
test_pickle()[source]
test_roundtrip_alone()[source]
test_roundtrip_chunks()[source]
test_roundtrip_raw()[source]
test_roundtrip_xz()[source]
test_simple_bad_args()[source]
class test.test_lzma.FileTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_close()[source]
test_closed()[source]
test_fileno()[source]
test_init()[source]
test_init_bad_check()[source]
test_init_bad_filter_spec()[source]
test_init_bad_mode()[source]
test_init_bad_preset()[source]
test_init_mode()[source]
test_init_with_filename()[source]
test_init_with_preset_and_filters()[source]
test_init_with_x_mode()[source]
test_iterator()[source]
test_peek()[source]
test_peek_bad_args()[source]
test_read()[source]
test_read1()[source]
test_read1_0()[source]
test_read1_10()[source]
test_read1_bad_args()[source]
test_read1_multistream()[source]
test_read_0()[source]
test_read_10()[source]
test_read_bad_args()[source]
test_read_bad_data()[source]
test_read_from_file()[source]
test_read_from_file_with_bytes_filename()[source]
test_read_incomplete()[source]
test_read_multistream()[source]
test_read_multistream_buffer_size_aligned()[source]
test_read_multistream_trailing_junk()[source]
test_read_trailing_junk()[source]
test_read_truncated()[source]
test_readable()[source]
test_readline()[source]
test_readlines()[source]
test_seek_backward()[source]
test_seek_backward_across_streams()[source]
test_seek_backward_relative_to_end()[source]
test_seek_bad_args()[source]
test_seek_forward()[source]
test_seek_forward_across_streams()[source]
test_seek_forward_relative_to_current()[source]
test_seek_forward_relative_to_end()[source]
test_seek_past_end()[source]
test_seek_past_start()[source]
test_seekable()[source]
test_tell()[source]
test_tell_bad_args()[source]
test_writable()[source]
test_write()[source]
test_write_10()[source]
test_write_append()[source]
test_write_append_to_file()[source]
test_write_bad_args()[source]
test_write_to_file()[source]
test_write_to_file_with_bytes_filename()[source]
test_writelines()[source]
class test.test_lzma.MiscellaneousTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test__decode_filter_properties()[source]
test__encode_filter_properties()[source]
test_filter_properties_roundtrip()[source]
test_is_check_supported()[source]
class test.test_lzma.OpenTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_params()[source]
test_binary_modes()[source]
test_encoding()[source]
test_encoding_error_handler()[source]
test_filename()[source]
test_format_and_filters()[source]
test_newline()[source]
test_text_modes()[source]
test_x_mode()[source]
class test.test_lzma.TempFile(filename, data=b'')[source]

Bases: object

Context manager - creates a file, and deletes it on __exit__.

test.test_lzma.test_main()[source]

test.test_macpath module

class test.test_macpath.MacCommonTest(methodName='runTest')[source]

Bases: test.test_genericpath.CommonTest, unittest.case.TestCase

pathmodule = <module 'macpath' from 'C:\\Python34\\lib\\macpath.py'>
class test.test_macpath.MacPathTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_abspath()[source]
test_isabs()[source]
test_ismount()[source]
test_join()[source]
test_normpath()[source]
test_split()[source]
test_splitext()[source]

test.test_macurl2path module

class test.test_macurl2path.MacUrl2PathTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_pathname2url()[source]
test_url2pathname()[source]

test.test_mailbox module

class test.test_mailbox.FakeFileLikeObject[source]

Bases: object

close()[source]
class test.test_mailbox.FakeMailBox[source]

Bases: mailbox.Mailbox

get_file(key)[source]
class test.test_mailbox.MaildirTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

createMessage(dir, mbox=False)[source]
setUp()[source]
tearDown()[source]
test_empty_maildir()[source]

Test an empty maildir mailbox

test_nonempty_maildir_both()[source]
test_nonempty_maildir_cur()[source]
test_nonempty_maildir_new()[source]
class test.test_mailbox.TestBabyl(methodName='runTest')[source]

Bases: test.test_mailbox._TestSingleFile, unittest.case.TestCase

assertMailboxEmpty()[source]
tearDown()[source]
test_labels()[source]
class test.test_mailbox.TestBabylMessage(methodName='runTest')[source]

Bases: test.test_mailbox.TestMessage, unittest.case.TestCase

test_labels()[source]
test_visible()[source]
class test.test_mailbox.TestBase[source]

Bases: object

all_mailbox_types = (<class 'mailbox.Message'>, <class 'mailbox.MaildirMessage'>, <class 'mailbox.mboxMessage'>, <class 'mailbox.MHMessage'>, <class 'mailbox.BabylMessage'>, <class 'mailbox.MMDFMessage'>)
class test.test_mailbox.TestFakeMailBox(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_closing_fd()[source]
class test.test_mailbox.TestMH(methodName='runTest')[source]

Bases: test.test_mailbox.TestMailbox, unittest.case.TestCase

assertMailboxEmpty()[source]
test_add_and_remove_folders()[source]
test_get_folder()[source]
test_issue2625()[source]
test_issue7627()[source]
test_list_folders()[source]
test_pack()[source]
test_sequences()[source]
class test.test_mailbox.TestMHMessage(methodName='runTest')[source]

Bases: test.test_mailbox.TestMessage, unittest.case.TestCase

test_sequences()[source]
class test.test_mailbox.TestMMDF(methodName='runTest')[source]

Bases: test.test_mailbox._TestMboxMMDF, unittest.case.TestCase

class test.test_mailbox.TestMMDFMessage(methodName='runTest')[source]

Bases: test.test_mailbox._TestMboxMMDFMessage, test.test_mailbox.TestMessage

class test.test_mailbox.TestMailbox[source]

Bases: test.test_mailbox.TestBase

maxDiff = None
setUp()[source]
tearDown()[source]
test_add()[source]
test_add_8bit_body()[source]
test_add_StringIO_warns()[source]
test_add_binary_file()[source]
test_add_binary_nonascii_file()[source]
test_add_invalid_8bit_bytes_header()[source]
test_add_nonascii_StringIO_raises()[source]
test_add_nonascii_string_header_raises()[source]
test_add_text_file_warns()[source]
test_add_that_raises_leaves_mailbox_empty()[source]
test_clear(iterations=10)[source]
test_close()[source]
test_contains()[source]
test_delitem()[source]
test_discard(repetitions=10)[source]
test_dump_message()[source]
test_flush()[source]
test_get()[source]
test_get_bytes()[source]
test_get_file()[source]
test_get_file_can_be_closed_twice()[source]
test_get_message()[source]
test_get_string()[source]
test_getitem()[source]
test_invalid_nonascii_header_as_string()[source]
test_items()[source]
test_iter()[source]
test_iteritems()[source]
test_iterkeys()[source]
test_itervalues()[source]
test_keys()[source]
test_len(repetitions=10)[source]
test_lock_unlock()[source]
test_pop()[source]
test_popitem(iterations=10)[source]
test_popitem_and_flush_twice()[source]
test_remove()[source]
test_set_item()[source]
test_update()[source]
test_values()[source]
class test.test_mailbox.TestMailboxSuperclass(methodName='runTest')[source]

Bases: test.test_mailbox.TestBase, unittest.case.TestCase

test_notimplemented()[source]
class test.test_mailbox.TestMaildir(methodName='runTest')[source]

Bases: test.test_mailbox.TestMailbox, unittest.case.TestCase

assertMailboxEmpty()[source]
setUp()[source]
test_add_MM()[source]
test_add_and_remove_folders()[source]
test_clean()[source]
test_consistent_factory()[source]
test_create_tmp(repetitions=10)[source]
test_directory_in_folder()[source]
test_file_permissions()[source]
test_folder()[source]
test_folder_file_perms()[source]
test_get_MM()[source]
test_get_folder()[source]
test_initialize_existing()[source]
test_initialize_new()[source]
test_list_folders()[source]
test_lock_unlock()[source]
test_lookup()[source]
test_refresh()[source]
test_refresh_after_safety_period()[source]
test_reread()[source]
test_set_MM()[source]
class test.test_mailbox.TestMaildirMessage(methodName='runTest')[source]

Bases: test.test_mailbox.TestMessage, unittest.case.TestCase

test_date()[source]
test_flags()[source]
test_info()[source]
test_info_and_flags()[source]
test_subdir()[source]
class test.test_mailbox.TestMbox(methodName='runTest')[source]

Bases: test.test_mailbox._TestMboxMMDF, unittest.case.TestCase

test_file_perms()[source]
test_message_separator()[source]
test_terminating_newline()[source]
class test.test_mailbox.TestMboxMessage(methodName='runTest')[source]

Bases: test.test_mailbox._TestMboxMMDFMessage, test.test_mailbox.TestMessage

class test.test_mailbox.TestMessage(methodName='runTest')[source]

Bases: test.test_mailbox.TestBase, unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_all_eMM_attribues_exist()[source]
test_become_message()[source]
test_explain_to()[source]
test_initialize_incorrectly()[source]
test_initialize_with_binary_file()[source]
test_initialize_with_eMM()[source]
test_initialize_with_file()[source]
test_initialize_with_nothing()[source]
test_initialize_with_string()[source]
class test.test_mailbox.TestMessageConversion(methodName='runTest')[source]

Bases: test.test_mailbox.TestBase, unittest.case.TestCase

test_babyl_to_babyl()[source]
test_babyl_to_maildir()[source]
test_babyl_to_mboxmmdf()[source]
test_babyl_to_mh()[source]
test_maildir_to_babyl()[source]
test_maildir_to_maildir()[source]
test_maildir_to_mboxmmdf()[source]
test_maildir_to_mh()[source]
test_mboxmmdf_to_babyl()[source]
test_mboxmmdf_to_maildir()[source]
test_mboxmmdf_to_mboxmmdf()[source]
test_mboxmmdf_to_mh()[source]
test_mh_to_babyl()[source]
test_mh_to_maildir()[source]
test_mh_to_mboxmmdf()[source]
test_mh_to_mh()[source]
test_plain_to_x()[source]
test_type_specific_attributes_removed_on_conversion()[source]
test_x_from_bytes()[source]
test_x_to_invalid()[source]
test_x_to_plain()[source]
class test.test_mailbox.TestPartialFile(methodName='runTest')[source]

Bases: test.test_mailbox.TestProxyFileBase, unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_close()[source]
test_initialize()[source]
test_iteration()[source]
test_read()[source]
test_readline()[source]
test_readlines()[source]
test_seek_and_tell()[source]
class test.test_mailbox.TestProxyFile(methodName='runTest')[source]

Bases: test.test_mailbox.TestProxyFileBase, unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_close()[source]
test_initialize()[source]
test_iteration()[source]
test_read()[source]
test_readline()[source]
test_readlines()[source]
test_seek_and_tell()[source]
class test.test_mailbox.TestProxyFileBase[source]

Bases: test.test_mailbox.TestBase

test.test_mailbox.test_main()[source]

test.test_mailcap module

class test.test_mailcap.FindmatchTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_findmatch()[source]
test_test()[source]
class test.test_mailcap.GetcapsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_mock_getcaps()[source]
test_system_mailcap()[source]
class test.test_mailcap.HelperFunctionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_listmailcapfiles()[source]
test_lookup()[source]
test_readmailcapfile()[source]
test_subst()[source]
test.test_mailcap.test_main()[source]

test.test_marshal module

class test.test_marshal.BufferTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

test_array()[source]
test_bytearray()[source]
test_memoryview()[source]
class test.test_marshal.BugsTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_reader()[source]
test_bug_5888452()[source]
test_exact_type_match()[source]
test_fuzz()[source]
test_invalid_longs()[source]
test_large_marshal()[source]
test_loads_2x_code()[source]
test_loads_recursion()[source]
test_loads_reject_unicode_strings()[source]
test_multiple_dumps_and_loads()[source]
test_patch_873224()[source]
test_recursion_limit()[source]
test_version_argument()[source]
class test.test_marshal.CodeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_code()[source]
test_different_filenames()[source]
test_many_codeobjects()[source]
test_same_filename_used()[source]
test.test_marshal.CollectObjectIDs(ids, obj)[source]

Collect object ids seen in a structure

class test.test_marshal.CompatibilityTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test0To3()[source]
test1To3()[source]
test2To3()[source]
test3To3()[source]
class test.test_marshal.ContainerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

d = {'ashortlong': 2, 'astring': 'foo@bar.baz.spam', 'aboolean': False, 'atuple': ('.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41', '.zyx.41'), 'anint': 1048576, 'alist': ['.zyx.41'], 'afloat': 7283.43, 'aunicode': 'Andrè Previn'}
test_dict()[source]
test_list()[source]
test_sets()[source]
test_tuple()[source]
class test.test_marshal.ExceptionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_exceptions()[source]
class test.test_marshal.FloatTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

test_floats()[source]
class test.test_marshal.HelperMixin[source]

Bases: object

helper(sample, *extra)[source]
class test.test_marshal.InstancingTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

dictobj = {'goodbye': 1.2345, 1.2345: 'hello', 'hello': 1.2345}
floatobj = 1.2345
helper3(rsample, recursive=False, simple=False)[source]
intobj = 123321
strobj = 'abcdeabcdeabcde'
testDict()[source]
testFloat()[source]
testInt()[source]
testModule()[source]
testRecursion()[source]
testStr()[source]
class test.test_marshal.IntTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

test_bool()[source]
test_ints()[source]
class test.test_marshal.InterningTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

strobj = 'this is an interned string'
testIntern()[source]
testNoIntern()[source]
class test.test_marshal.LargeValuesTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_unmarshallable(data)[source]
test_bytearray()
test_bytes()
test_frozenset()
test_list()
test_set()
test_str()
test_tuple()
class test.test_marshal.NullWriter[source]

Bases: object

write(s)[source]
class test.test_marshal.StringTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_marshal.HelperMixin

test_bytes()[source]
test_string()[source]
test_unicode()[source]
test.test_marshal.test_main()[source]

test.test_math module

class test.test_math.MathTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

ftest(name, value, expected)[source]
testAcos()[source]
testAcosh()[source]
testAsin()[source]
testAsinh()[source]
testAtan()[source]
testAtan2()[source]
testAtanh()[source]
testCeil()[source]
testConstants()[source]
testCopysign()[source]
testCos()[source]
testCosh()[source]
testDegrees()[source]
testExp()[source]
testFabs()[source]
testFactorial()[source]
testFloor()[source]
testFmod()[source]
testFrexp()[source]
testFsum()[source]
testHypot()[source]
testIsfinite()[source]
testIsinf()[source]
testIsnan()[source]
testLdexp()[source]
testLog()[source]
testLog10()[source]
testLog1p()[source]
testLog2()[source]
testLog2Exact()[source]
testModf()[source]
testPow()[source]
testRadians()[source]
testSin()[source]
testSinh()[source]
testSqrt()[source]
testTan()[source]
testTanh()[source]
testTanhSign()[source]
test_exceptions()[source]
test_mtestfile()[source]
test_testfile()[source]
test_trunc()[source]
test.test_math.acc_check(expected, got, rel_err=2e-15, abs_err=5e-323)[source]

Determine whether non-NaN floats a and b are equal to within a (small) rounding error. The default values for rel_err and abs_err are chosen to be suitable for platforms where a float is represented by an IEEE 754 double. They allow an error of between 9 and 19 ulps.

test.test_math.count_set_bits(n)[source]

Number of ‘1’ bits in binary expansion of a nonnnegative integer.

test.test_math.parse_mtestfile(fname)[source]

Parse a file with test values

– starts a comment blank lines, or lines containing only a comment, are ignored other lines are expected to have the form

id fn arg -> expected [flag]*
test.test_math.parse_testfile(fname)[source]

Parse a file with test values

Empty lines or lines starting with – are ignored yields id, fn, arg_real, arg_imag, exp_real, exp_imag

test.test_math.partial_product(start, stop)[source]

Product of integers in range(start, stop, 2), computed recursively. start and stop should both be odd, with start <= stop.

test.test_math.py_factorial(n)[source]

Factorial of nonnegative integer n, via “Binary Split Factorial Formula” described at http://www.luschny.de/math/factorial/binarysplitfact.html

test.test_math.test_main()[source]
test.test_math.to_ulps(x)[source]

Convert a non-NaN float x to an integer, in such a way that adjacent floats are converted to adjacent integers. Then abs(ulps(x) - ulps(y)) gives the difference in ulps between two floats.

The results from this function will only make sense on platforms where C doubles are represented in IEEE 754 binary64 format.

test.test_math.ulps_check(expected, got, ulps=20)[source]

Given non-NaN floats expected and got, check that they’re equal to within the given number of ulps.

Returns None on success and an error message on failure.

test.test_memoryio module

Unit tests for memory-based file-like objects. StringIO – for unicode strings BytesIO – for bytes

class test.test_memoryio.BytesIOMixin[source]

Bases: object

test_getbuffer()[source]
class test.test_memoryio.CBytesIOTest(methodName='runTest')[source]

Bases: test.test_memoryio.PyBytesIOTest

exception UnsupportedOperation

Bases: ValueError, OSError

CBytesIOTest.check_sizeof(test, o, size)
CBytesIOTest.ioclass

alias of BytesIO

CBytesIOTest.test_getstate()[source]
CBytesIOTest.test_setstate()[source]
CBytesIOTest.test_sizeof()[source]
class test.test_memoryio.CStringIOPickleTest(methodName='runTest')[source]

Bases: test.test_memoryio.PyStringIOPickleTest

exception UnsupportedOperation

Bases: ValueError, OSError

class CStringIOPickleTest.ioclass(*args, **kwargs)[source]

Bases: _io.StringIO

class test.test_memoryio.CStringIOTest(methodName='runTest')[source]

Bases: test.test_memoryio.PyStringIOTest

exception UnsupportedOperation

Bases: ValueError, OSError

CStringIOTest.ioclass

alias of StringIO

CStringIOTest.test_getstate()[source]
CStringIOTest.test_setstate()[source]
CStringIOTest.test_widechar()[source]
class test.test_memoryio.MemorySeekTestMixin[source]

Bases: object

testInit()[source]
testRead()[source]
testReadNoArgs()[source]
testSeek()[source]
testTell()[source]
class test.test_memoryio.MemoryTestMixin[source]

Bases: object

test_detach()[source]
test_flags()[source]
test_flush()[source]
test_getvalue()[source]
test_init()[source]
test_instance_dict_leak()[source]
test_iterator()[source]
test_overseek()[source]
test_pickling()[source]
test_read()[source]
test_readline()[source]
test_readlines()[source]
test_seek()[source]
test_subclassing()[source]
test_tell()[source]
test_truncate()[source]
test_write()[source]
test_writelines()[source]
test_writelines_error()[source]
write_ops(f, t)[source]
class test.test_memoryio.PyBytesIOTest(methodName='runTest')[source]

Bases: test.test_memoryio.MemoryTestMixin, test.test_memoryio.MemorySeekTestMixin, test.test_memoryio.BytesIOMixin, unittest.case.TestCase

EOF = b''
exception UnsupportedOperation

Bases: ValueError, OSError

static PyBytesIOTest.buftype(s)[source]
PyBytesIOTest.ioclass

alias of BytesIO

PyBytesIOTest.test_bytes_array()[source]
PyBytesIOTest.test_issue5449()[source]
PyBytesIOTest.test_read1()[source]
PyBytesIOTest.test_readinto()[source]
PyBytesIOTest.test_relative_seek()[source]
PyBytesIOTest.test_unicode()[source]
class test.test_memoryio.PyStringIOPickleTest(methodName='runTest')[source]

Bases: test.test_memoryio.TextIOTestMixin, unittest.case.TestCase

Test if pickle restores properly the internal state of StringIO.

EOF = ''
exception UnsupportedOperation

Bases: ValueError, OSError

PyStringIOPickleTest.buftype

alias of str

class PyStringIOPickleTest.ioclass(*args, **kwargs)[source]

Bases: _pyio.StringIO

class test.test_memoryio.PyStringIOTest(methodName='runTest')[source]

Bases: test.test_memoryio.MemoryTestMixin, test.test_memoryio.MemorySeekTestMixin, test.test_memoryio.TextIOTestMixin, unittest.case.TestCase

EOF = ''
exception UnsupportedOperation

Bases: ValueError, OSError

PyStringIOTest.buftype

alias of str

PyStringIOTest.ioclass

alias of StringIO

PyStringIOTest.test_lone_surrogates()[source]
class test.test_memoryio.TextIOTestMixin[source]

Bases: object

test_issue5265()[source]
test_newline_argument()[source]
test_newline_cr()[source]
test_newline_crlf()[source]
test_newline_default()[source]
test_newline_empty()[source]
test_newline_lf()[source]
test_newline_none()[source]
test_newlines_property()[source]
test_relative_seek()[source]
test_textio_properties()[source]
test.test_memoryio.test_main()[source]

test.test_memoryview module

Unit tests for the memoryview

Some tests are in test_bytes. Many tests that require _testbuffer.ndarray are in test_buffer.

class test.test_memoryview.AbstractMemoryTests[source]

Bases: object

check_attributes_with_type(tp)[source]
check_getitem_with_type(tp)[source]
source_bytes = b'abcdef'
test_attributes_readonly()[source]
test_attributes_writable()[source]
test_compare()[source]
test_contextmanager()[source]
test_delitem()[source]
test_gc()[source]
test_getbuf_fail()[source]
test_getbuffer()[source]
test_getitem()[source]
test_hash()[source]
test_hash_writable()[source]
test_iter()[source]
test_release()[source]
test_reversed()[source]
test_setitem_readonly()[source]
test_setitem_writable()[source]
test_tobytes()[source]
test_tolist()[source]
test_weakref()[source]
test_writable_readonly()[source]
class test.test_memoryview.ArrayMemorySliceSliceTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_memoryview.BaseMemorySliceSliceTests, test.test_memoryview.BaseArrayMemoryTests

class test.test_memoryview.ArrayMemorySliceTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_memoryview.BaseMemorySliceTests, test.test_memoryview.BaseArrayMemoryTests

class test.test_memoryview.ArrayMemoryviewTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_memoryview.BaseMemoryviewTests, test.test_memoryview.BaseArrayMemoryTests

test_array_assign()[source]
class test.test_memoryview.BaseArrayMemoryTests[source]

Bases: test.test_memoryview.AbstractMemoryTests

format = 'i'
getitem_type(b)
itemsize = 4
ro_type = None
rw_type(b)
test_getbuffer()[source]
test_tolist()[source]
class test.test_memoryview.BaseBytesMemoryTests[source]

Bases: test.test_memoryview.AbstractMemoryTests

format = 'B'
getitem_type

alias of bytes

itemsize = 1
ro_type

alias of bytes

rw_type

alias of bytearray

class test.test_memoryview.BaseMemorySliceSliceTests[source]

Bases: object

source_bytes = b'XabcdefY'
class test.test_memoryview.BaseMemorySliceTests[source]

Bases: object

source_bytes = b'XabcdefY'
test_refs()[source]
class test.test_memoryview.BaseMemoryviewTests[source]

Bases: object

class test.test_memoryview.BytesMemorySliceSliceTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_memoryview.BaseMemorySliceSliceTests, test.test_memoryview.BaseBytesMemoryTests

class test.test_memoryview.BytesMemorySliceTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_memoryview.BaseMemorySliceTests, test.test_memoryview.BaseBytesMemoryTests

class test.test_memoryview.BytesMemoryviewTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_memoryview.BaseMemoryviewTests, test.test_memoryview.BaseBytesMemoryTests

test_constructor()[source]
test.test_memoryview.test_main()[source]

test.test_metaclass module

test.test_metaclass.test_main(verbose=False)[source]

test.test_mimetypes module

class test.test_mimetypes.MimeTypesTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_data_urls()[source]
test_default_data()[source]
test_encoding()[source]
test_file_parsing()[source]
test_guess_all_types()[source]
test_non_standard_types()[source]
class test.test_mimetypes.Win32MimeTypesTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_registry_parsing()[source]
test.test_mimetypes.test_main()[source]

test.test_minidom module

class test.test_minidom.MinidomTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

class UserDataHandler[source]

Bases: object

called = 0
handle(operation, key, data, src, dst)[source]
MinidomTest.checkRenameNodeSharedConstraints(doc, node)[source]
MinidomTest.checkWholeText(node, s)[source]
MinidomTest.check_clone_attribute(deep, testName)[source]
MinidomTest.check_clone_pi(deep, testName)[source]
MinidomTest.check_import_document(deep, testName)[source]
MinidomTest.confirm(test, testname='Test')[source]
MinidomTest.get_empty_nodelist_from_elements_by_tagName_ns_helper(doc, nsuri, lname)[source]
MinidomTest.testAAA()[source]
MinidomTest.testAAB()[source]
MinidomTest.testAddAttr()[source]
MinidomTest.testAltNewline()[source]
MinidomTest.testAppendChild()[source]
MinidomTest.testAppendChildFragment()[source]
MinidomTest.testAttrListItem()[source]
MinidomTest.testAttrListItemNS()[source]
MinidomTest.testAttrListItems()[source]
MinidomTest.testAttrListKeys()[source]
MinidomTest.testAttrListKeysNS()[source]
MinidomTest.testAttrListLength()[source]
MinidomTest.testAttrListValues()[source]
MinidomTest.testAttrList__getitem__()[source]
MinidomTest.testAttrList__setitem__()[source]
MinidomTest.testAttributeRepr()[source]
MinidomTest.testBug0777884()[source]
MinidomTest.testBug1433694()[source]
MinidomTest.testChangeAttr()[source]
MinidomTest.testChildNodes()[source]
MinidomTest.testCloneAttributeDeep()[source]
MinidomTest.testCloneAttributeShallow()[source]
MinidomTest.testCloneDocumentDeep()[source]
MinidomTest.testCloneDocumentShallow()[source]
MinidomTest.testCloneDocumentTypeDeepNotOk()[source]
MinidomTest.testCloneDocumentTypeDeepOk()[source]
MinidomTest.testCloneDocumentTypeShallowNotOk()[source]
MinidomTest.testCloneDocumentTypeShallowOk()[source]
MinidomTest.testCloneElementDeep()[source]
MinidomTest.testCloneElementShallow()[source]
MinidomTest.testClonePIDeep()[source]
MinidomTest.testClonePIShallow()[source]
MinidomTest.testComment()[source]
MinidomTest.testContext()[source]
MinidomTest.testCreateAttributeNS()[source]
MinidomTest.testCreateElementNS()[source]
MinidomTest.testDeleteAttr()[source]
MinidomTest.testDocRemoveChild()[source]
MinidomTest.testDocumentElement()[source]
MinidomTest.testElement()[source]
MinidomTest.testElementReprAndStr()[source]
MinidomTest.testElementReprAndStrUnicode()[source]
MinidomTest.testElementReprAndStrUnicodeNS()[source]
MinidomTest.testEmptyXMLNSValue()[source]
MinidomTest.testEncodings()[source]
MinidomTest.testExceptionOnSpacesInXMLNSValue()[source]
MinidomTest.testFirstChild()[source]
MinidomTest.testGetAttrLength()[source]
MinidomTest.testGetAttrList()[source]
MinidomTest.testGetAttrValues()[source]
MinidomTest.testGetAttribute()[source]
MinidomTest.testGetAttributeNS()[source]
MinidomTest.testGetAttributeNode()[source]
MinidomTest.testGetElementsByTagName()[source]
MinidomTest.testGetElementsByTagNameNS()[source]
MinidomTest.testGetEmptyNodeListFromElementsByTagNameNS()[source]
MinidomTest.testHasAttribute()[source]
MinidomTest.testHasChildNodes()[source]
MinidomTest.testImportDocumentDeep()[source]
MinidomTest.testImportDocumentShallow()[source]
MinidomTest.testImportDocumentTypeDeep()[source]
MinidomTest.testImportDocumentTypeShallow()[source]
MinidomTest.testInsertBefore()[source]
MinidomTest.testInsertBeforeFragment()[source]
MinidomTest.testLegalChildren()[source]
MinidomTest.testNamedNodeMapSetItem()[source]
MinidomTest.testNodeListItem()[source]
MinidomTest.testNonZero()[source]
MinidomTest.testNormalize()[source]
MinidomTest.testNormalizeCombineAndNextSibling()[source]
MinidomTest.testNormalizeDeleteAndCombine()[source]
MinidomTest.testNormalizeDeleteWithNextSibling()[source]
MinidomTest.testNormalizeDeleteWithPrevSibling()[source]
MinidomTest.testNormalizeDeleteWithTwoNonTextSiblings()[source]
MinidomTest.testNormalizeRecursion()[source]
MinidomTest.testParents()[source]
MinidomTest.testParse()[source]
MinidomTest.testParseAttributeNamespaces()[source]
MinidomTest.testParseAttributes()[source]
MinidomTest.testParseElement()[source]
MinidomTest.testParseElementNamespaces()[source]
MinidomTest.testParseFromFile()[source]
MinidomTest.testParseProcessingInstructions()[source]
MinidomTest.testParseString()[source]
MinidomTest.testPatch1094164()[source]
MinidomTest.testPickledDocument()[source]
MinidomTest.testProcessingInstruction()[source]
MinidomTest.testProcessingInstructionNameError()[source]
MinidomTest.testProcessingInstructionRepr()[source]
MinidomTest.testRemoveAttr()[source]
MinidomTest.testRemoveAttrNS()[source]
MinidomTest.testRemoveAttributeNode()[source]
MinidomTest.testRemoveNamedItem()[source]
MinidomTest.testRemoveNamedItemNS()[source]
MinidomTest.testRenameAttribute()[source]
MinidomTest.testRenameElement()[source]
MinidomTest.testRenameOther()[source]
MinidomTest.testReplaceChildFragment()[source]
MinidomTest.testReplaceWholeText()[source]
MinidomTest.testSchemaType()[source]
MinidomTest.testSerializeCommentNodeWithDoubleHyphen()[source]
MinidomTest.testSetAttrValueandNodeValue()[source]
MinidomTest.testSetIdAttribute()[source]
MinidomTest.testSetIdAttributeNS()[source]
MinidomTest.testSetIdAttributeNode()[source]
MinidomTest.testSiblings()[source]
MinidomTest.testTextNodeRepr()[source]
MinidomTest.testTextRepr()[source]
MinidomTest.testTooManyDocumentElements()[source]
MinidomTest.testUserData()[source]
MinidomTest.testWholeText()[source]
MinidomTest.testWriteText()[source]
MinidomTest.testWriteXML()[source]
MinidomTest.test_toprettyxml_preserves_content_of_text_node()[source]
MinidomTest.test_toprettyxml_with_adjacent_text_nodes()[source]
MinidomTest.test_toprettyxml_with_text_nodes()[source]
test.test_minidom.create_doc_with_doctype()[source]
test.test_minidom.create_doc_without_doctype(doctype=None)[source]
test.test_minidom.create_nonempty_doctype()[source]
test.test_minidom.test_main()[source]

test.test_mmap module

class test.test_mmap.LargeMmapTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_around_2GB()[source]
test_around_4GB()[source]
test_large_filesize()[source]
test_large_offset()[source]
class test.test_mmap.MmapTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

make_mmap_file(f, halfsize)[source]
setUp()[source]
tearDown()[source]
test_access_parameter()[source]
test_anonymous()[source]
test_bad_file_desc()[source]
test_basic()[source]
test_context_manager()[source]
test_context_manager_exception()[source]
test_crasher_on_windows()[source]
test_double_close()[source]
test_empty_file()[source]
test_entire_file()[source]
test_error()[source]
test_extended_getslice()[source]
test_extended_set_del_slice()[source]
test_find_end()[source]
test_invalid_descriptor()[source]
test_io_methods()[source]
test_length_0_large_offset()[source]
test_length_0_offset()[source]
test_move()[source]
test_non_ascii_byte()[source]
test_offset()[source]
test_prot_readonly()[source]
test_read_all()[source]
test_read_invalid_arg()[source]
test_rfind()[source]
test_sizeof()[source]
test_subclass()[source]
test_tagname()[source]
test_tougher_find()[source]
test_weakref()[source]
test.test_mmap.test_main()[source]

test.test_module module

class test.test_module.BareLoader[source]

Bases: object

class test.test_module.FullLoader[source]

Bases: object

classmethod module_repr(m)[source]
class test.test_module.ModuleTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_ascii_docstring()[source]
test_clear_dict_in_ref_cycle()[source]
test_dont_clear_dict()[source]
test_module_finalization_at_shutdown()[source]
test_module_repr_builtin()[source]
test_module_repr_minimal()[source]
test_module_repr_source()[source]
test_module_repr_with_bare_loader()[source]
test_module_repr_with_bare_loader_and_filename()[source]
test_module_repr_with_bare_loader_but_no_name()[source]
test_module_repr_with_filename_only()[source]
test_module_repr_with_full_loader()[source]
test_module_repr_with_full_loader_and_filename()[source]
test_module_repr_with_full_loader_but_no_name()[source]
test_module_repr_with_loader_as_None()[source]
test_module_repr_with_name()[source]
test_module_repr_with_name_and_filename()[source]
test_no_docstring()[source]
test_reinit()[source]
test_unicode_docstring()[source]
test_uninitialized()[source]
test_weakref()[source]
test.test_module.test_main()[source]

test.test_modulefinder module

class test.test_modulefinder.ModuleFinderTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_absolute_imports()[source]
test_bytecode()[source]
test_maybe()[source]
test_maybe_new()[source]
test_package()[source]
test_relative_imports()[source]
test_relative_imports_2()[source]
test_relative_imports_3()[source]
test_relative_imports_4()[source]
test_replace_paths()[source]
test.test_modulefinder.create_package(source)[source]
test.test_modulefinder.open_file(path)[source]

test.test_msilib module

Test suite for the code in msilib

class test.test_msilib.Test_make_id(methodName='runTest')[source]

Bases: unittest.case.TestCase

The Identifier data type is a text string. Identifiers may contain the ASCII characters A-Z (a-z), digits, underscores (_), or periods (.). However, every identifier must begin with either a letter or an underscore.

test_invalid_any_char()[source]
test_invalid_first_char()[source]
test_is_no_change_required()[source]
test.test_msilib.test_main()[source]

test.test_multibytecodec module

class test.test_multibytecodec.TestHZStateful(methodName='runTest')[source]

Bases: test.test_multibytecodec.TestStateful

encoding = 'hz'
expected = b'~{ADAD'
expected_reset = b'~{ADAD~}'
reset = b'~}'
text = '聊聊'
class test.test_multibytecodec.TestStateful(methodName='runTest')[source]

Bases: unittest.case.TestCase

encoding = 'iso-2022-jp'
expected = b'\x1b$B@$@$'
expected_reset = b'\x1b$B@$@$\x1b(B'
reset = b'\x1b(B'
test_encode()[source]
test_incrementalencoder()[source]
test_incrementalencoder_final()[source]
text = '世世'
class test.test_multibytecodec.Test_ISO2022(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug1572832()[source]
test_g2()[source]
test_iso2022_jp_g0()[source]
class test.test_multibytecodec.Test_IncrementalDecoder(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_dbcs()[source]
test_dbcs_keep_buffer()[source]
test_decode_unicode()[source]
test_iso2022()[source]
class test.test_multibytecodec.Test_IncrementalEncoder(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_issue5640()[source]
test_stateful()[source]
test_stateful_keep_buffer()[source]
test_stateless()[source]
class test.test_multibytecodec.Test_MultibyteCodec(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_codingspec()[source]
test_decode_unicode()[source]
test_errorcallback_longindex()[source]
test_init_segfault()[source]
test_nullcoding()[source]
test_str_decode()[source]
class test.test_multibytecodec.Test_StreamReader(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug1728403()[source]
class test.test_multibytecodec.Test_StreamWriter(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_gb18030()[source]
test_streamwriter_strwrite()[source]
test_utf_8()[source]
test.test_multibytecodec.test_main()[source]

test.test_multiprocessing_fork module

class test.test_multiprocessing_fork.OtherTest(methodName='runTest')

Bases: test._test_multiprocessing.OtherTest, object

class test.test_multiprocessing_fork.TestCloseFds(methodName='runTest')

Bases: test._test_multiprocessing.TestCloseFds, object

class test.test_multiprocessing_fork.TestFlags(methodName='runTest')

Bases: test._test_multiprocessing.TestFlags, object

class test.test_multiprocessing_fork.TestForkAwareThreadLock(methodName='runTest')

Bases: test._test_multiprocessing.TestForkAwareThreadLock, object

class test.test_multiprocessing_fork.TestIgnoreEINTR(methodName='runTest')

Bases: test._test_multiprocessing.TestIgnoreEINTR, object

class test.test_multiprocessing_fork.TestInitializers(methodName='runTest')

Bases: test._test_multiprocessing.TestInitializers, object

class test.test_multiprocessing_fork.TestInvalidFamily(methodName='runTest')

Bases: test._test_multiprocessing.TestInvalidFamily, object

class test.test_multiprocessing_fork.TestInvalidHandle(methodName='runTest')

Bases: test._test_multiprocessing.TestInvalidHandle, object

class test.test_multiprocessing_fork.TestNoForkBomb(methodName='runTest')

Bases: test._test_multiprocessing.TestNoForkBomb, object

class test.test_multiprocessing_fork.TestSemaphoreTracker(methodName='runTest')

Bases: test._test_multiprocessing.TestSemaphoreTracker, object

class test.test_multiprocessing_fork.TestStartMethod(methodName='runTest')

Bases: test._test_multiprocessing.TestStartMethod, object

class test.test_multiprocessing_fork.TestStdinBadfiledescriptor(methodName='runTest')

Bases: test._test_multiprocessing.TestStdinBadfiledescriptor, object

class test.test_multiprocessing_fork.TestTimeouts(methodName='runTest')

Bases: test._test_multiprocessing.TestTimeouts, object

class test.test_multiprocessing_fork.TestWait(methodName='runTest')

Bases: test._test_multiprocessing.TestWait, object

class test.test_multiprocessing_fork.WithManagerTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestContainers(methodName='runTest')

Bases: test._test_multiprocessing._TestContainers, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestMyManager(methodName='runTest')

Bases: test._test_multiprocessing._TestMyManager, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestRemoteManager(methodName='runTest')

Bases: test._test_multiprocessing._TestRemoteManager, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithManagerTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestArray(methodName='runTest')

Bases: test._test_multiprocessing._TestArray, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestConnection(methodName='runTest')

Bases: test._test_multiprocessing._TestConnection, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestFinalize(methodName='runTest')

Bases: test._test_multiprocessing._TestFinalize, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestHeap(methodName='runTest')

Bases: test._test_multiprocessing._TestHeap, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestListener(methodName='runTest')

Bases: test._test_multiprocessing._TestListener, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestListenerClient(methodName='runTest')

Bases: test._test_multiprocessing._TestListenerClient, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestLogging(methodName='runTest')

Bases: test._test_multiprocessing._TestLogging, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestPicklingConnections(methodName='runTest')

Bases: test._test_multiprocessing._TestPicklingConnections, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestPoll(methodName='runTest')

Bases: test._test_multiprocessing._TestPoll, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestPollEintr(methodName='runTest')

Bases: test._test_multiprocessing._TestPollEintr, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestPoolWorkerErrors(methodName='runTest')

Bases: test._test_multiprocessing._TestPoolWorkerErrors, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestPoolWorkerLifetime(methodName='runTest')

Bases: test._test_multiprocessing._TestPoolWorkerLifetime, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestProcess, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestSharedCTypes(methodName='runTest')

Bases: test._test_multiprocessing._TestSharedCTypes, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestSubclassingProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestSubclassingProcess, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithProcessesTestValue(methodName='runTest')

Bases: test._test_multiprocessing._TestValue, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestConnection(methodName='runTest')

Bases: test._test_multiprocessing._TestConnection, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestListenerClient(methodName='runTest')

Bases: test._test_multiprocessing._TestListenerClient, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestPoll(methodName='runTest')

Bases: test._test_multiprocessing._TestPoll, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestProcess, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_fork.WithThreadsTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

test.test_multiprocessing_forkserver module

class test.test_multiprocessing_forkserver.OtherTest(methodName='runTest')

Bases: test._test_multiprocessing.OtherTest, object

class test.test_multiprocessing_forkserver.TestCloseFds(methodName='runTest')

Bases: test._test_multiprocessing.TestCloseFds, object

class test.test_multiprocessing_forkserver.TestFlags(methodName='runTest')

Bases: test._test_multiprocessing.TestFlags, object

class test.test_multiprocessing_forkserver.TestForkAwareThreadLock(methodName='runTest')

Bases: test._test_multiprocessing.TestForkAwareThreadLock, object

class test.test_multiprocessing_forkserver.TestIgnoreEINTR(methodName='runTest')

Bases: test._test_multiprocessing.TestIgnoreEINTR, object

class test.test_multiprocessing_forkserver.TestInitializers(methodName='runTest')

Bases: test._test_multiprocessing.TestInitializers, object

class test.test_multiprocessing_forkserver.TestInvalidFamily(methodName='runTest')

Bases: test._test_multiprocessing.TestInvalidFamily, object

class test.test_multiprocessing_forkserver.TestInvalidHandle(methodName='runTest')

Bases: test._test_multiprocessing.TestInvalidHandle, object

class test.test_multiprocessing_forkserver.TestNoForkBomb(methodName='runTest')

Bases: test._test_multiprocessing.TestNoForkBomb, object

class test.test_multiprocessing_forkserver.TestSemaphoreTracker(methodName='runTest')

Bases: test._test_multiprocessing.TestSemaphoreTracker, object

class test.test_multiprocessing_forkserver.TestStartMethod(methodName='runTest')

Bases: test._test_multiprocessing.TestStartMethod, object

class test.test_multiprocessing_forkserver.TestStdinBadfiledescriptor(methodName='runTest')

Bases: test._test_multiprocessing.TestStdinBadfiledescriptor, object

class test.test_multiprocessing_forkserver.TestTimeouts(methodName='runTest')

Bases: test._test_multiprocessing.TestTimeouts, object

class test.test_multiprocessing_forkserver.TestWait(methodName='runTest')

Bases: test._test_multiprocessing.TestWait, object

class test.test_multiprocessing_forkserver.WithManagerTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestContainers(methodName='runTest')

Bases: test._test_multiprocessing._TestContainers, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestMyManager(methodName='runTest')

Bases: test._test_multiprocessing._TestMyManager, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestRemoteManager(methodName='runTest')

Bases: test._test_multiprocessing._TestRemoteManager, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithManagerTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestArray(methodName='runTest')

Bases: test._test_multiprocessing._TestArray, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestConnection(methodName='runTest')

Bases: test._test_multiprocessing._TestConnection, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestFinalize(methodName='runTest')

Bases: test._test_multiprocessing._TestFinalize, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestHeap(methodName='runTest')

Bases: test._test_multiprocessing._TestHeap, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestListener(methodName='runTest')

Bases: test._test_multiprocessing._TestListener, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestListenerClient(methodName='runTest')

Bases: test._test_multiprocessing._TestListenerClient, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestLogging(methodName='runTest')

Bases: test._test_multiprocessing._TestLogging, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestPicklingConnections(methodName='runTest')

Bases: test._test_multiprocessing._TestPicklingConnections, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestPoll(methodName='runTest')

Bases: test._test_multiprocessing._TestPoll, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestPollEintr(methodName='runTest')

Bases: test._test_multiprocessing._TestPollEintr, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestPoolWorkerErrors(methodName='runTest')

Bases: test._test_multiprocessing._TestPoolWorkerErrors, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestPoolWorkerLifetime(methodName='runTest')

Bases: test._test_multiprocessing._TestPoolWorkerLifetime, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestProcess, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestSharedCTypes(methodName='runTest')

Bases: test._test_multiprocessing._TestSharedCTypes, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestSubclassingProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestSubclassingProcess, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithProcessesTestValue(methodName='runTest')

Bases: test._test_multiprocessing._TestValue, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestConnection(methodName='runTest')

Bases: test._test_multiprocessing._TestConnection, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestListenerClient(methodName='runTest')

Bases: test._test_multiprocessing._TestListenerClient, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestPoll(methodName='runTest')

Bases: test._test_multiprocessing._TestPoll, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestProcess, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_forkserver.WithThreadsTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

test.test_multiprocessing_main_handling module

class test.test_multiprocessing_main_handling.ForkCmdLineTest(methodName='runTest')[source]

Bases: test.test_multiprocessing_main_handling.MultiProcessingCmdLineMixin, unittest.case.TestCase

main_in_children_source = '# multiprocessing includes all sorts of shenanigans to make __main__\n# attributes accessible in the subprocess in a pickle compatible way.\n\n# We run the "doesn\'t work in the interactive interpreter" example from\n# the docs to make sure it *does* work from an executed __main__,\n# regardless of the invocation mechanism\n\nimport sys\nimport time\nfrom multiprocessing import Pool, set_start_method\n\n# We use this __main__ defined function in the map call below in order to\n# check that multiprocessing in correctly running the unguarded\n# code in child processes and then making it available as __main__\ndef f(x):\n return x*x\n\n# Check explicit relative imports\nif "check_sibling" in __file__:\n # We\'re inside a package and not in a __main__.py file\n # so make sure explicit relative imports work correctly\n from . import sibling\n\nif __name__ == \'__main__\':\n start_method = sys.argv[1]\n set_start_method(start_method)\n p = Pool(5)\n results = []\n p.map_async(f, [1, 2, 3], callback=results.extend)\n deadline = time.time() + 10 # up to 10 s to report the results\n while not results:\n time.sleep(0.05)\n if time.time() > deadline:\n raise RuntimeError("Timed out waiting for results")\n results.sort()\n print(start_method, "->", results)\n'
start_method = 'fork'
class test.test_multiprocessing_main_handling.ForkServerCmdLineTest(methodName='runTest')[source]

Bases: test.test_multiprocessing_main_handling.MultiProcessingCmdLineMixin, unittest.case.TestCase

main_in_children_source = '# __main__.py files have an implied "if __name__ == \'__main__\'" so\n# multiprocessing should always skip running them in child processes\n\n# This means we can\'t use __main__ defined functions in child processes,\n# so we just use "int" as a passthrough operation below\n\nif __name__ != "__main__":\n raise RuntimeError("Should only be called as __main__!")\n\nimport sys\nimport time\nfrom multiprocessing import Pool, set_start_method\n\nstart_method = sys.argv[1]\nset_start_method(start_method)\np = Pool(5)\nresults = []\np.map_async(int, [1, 4, 9], callback=results.extend)\ndeadline = time.time() + 10 # up to 10 s to report the results\nwhile not results:\n time.sleep(0.05)\n if time.time() > deadline:\n raise RuntimeError("Timed out waiting for results")\nresults.sort()\nprint(start_method, "->", results)\n'
start_method = 'forkserver'
class test.test_multiprocessing_main_handling.MultiProcessingCmdLineMixin[source]

Bases: object

maxDiff = None
setUp()[source]
test_basic_script()[source]
test_basic_script_no_suffix()[source]
test_directory()[source]
test_directory_compiled()[source]
test_ipython_workaround()[source]
test_module_in_package()[source]
test_module_in_package_in_zipfile()[source]
test_module_in_subpackage_in_zipfile()[source]
test_package()[source]
test_package_compiled()[source]
test_script_compiled()[source]
test_zipfile()[source]
test_zipfile_compiled()[source]
class test.test_multiprocessing_main_handling.SpawnCmdLineTest(methodName='runTest')[source]

Bases: test.test_multiprocessing_main_handling.MultiProcessingCmdLineMixin, unittest.case.TestCase

main_in_children_source = '# __main__.py files have an implied "if __name__ == \'__main__\'" so\n# multiprocessing should always skip running them in child processes\n\n# This means we can\'t use __main__ defined functions in child processes,\n# so we just use "int" as a passthrough operation below\n\nif __name__ != "__main__":\n raise RuntimeError("Should only be called as __main__!")\n\nimport sys\nimport time\nfrom multiprocessing import Pool, set_start_method\n\nstart_method = sys.argv[1]\nset_start_method(start_method)\np = Pool(5)\nresults = []\np.map_async(int, [1, 4, 9], callback=results.extend)\ndeadline = time.time() + 10 # up to 10 s to report the results\nwhile not results:\n time.sleep(0.05)\n if time.time() > deadline:\n raise RuntimeError("Timed out waiting for results")\nresults.sort()\nprint(start_method, "->", results)\n'
start_method = 'spawn'
test.test_multiprocessing_main_handling.tearDownModule()[source]

test.test_multiprocessing_spawn module

class test.test_multiprocessing_spawn.OtherTest(methodName='runTest')

Bases: test._test_multiprocessing.OtherTest, object

class test.test_multiprocessing_spawn.TestCloseFds(methodName='runTest')

Bases: test._test_multiprocessing.TestCloseFds, object

class test.test_multiprocessing_spawn.TestFlags(methodName='runTest')

Bases: test._test_multiprocessing.TestFlags, object

class test.test_multiprocessing_spawn.TestForkAwareThreadLock(methodName='runTest')

Bases: test._test_multiprocessing.TestForkAwareThreadLock, object

class test.test_multiprocessing_spawn.TestIgnoreEINTR(methodName='runTest')

Bases: test._test_multiprocessing.TestIgnoreEINTR, object

class test.test_multiprocessing_spawn.TestInitializers(methodName='runTest')

Bases: test._test_multiprocessing.TestInitializers, object

class test.test_multiprocessing_spawn.TestInvalidFamily(methodName='runTest')

Bases: test._test_multiprocessing.TestInvalidFamily, object

class test.test_multiprocessing_spawn.TestInvalidHandle(methodName='runTest')

Bases: test._test_multiprocessing.TestInvalidHandle, object

class test.test_multiprocessing_spawn.TestNoForkBomb(methodName='runTest')

Bases: test._test_multiprocessing.TestNoForkBomb, object

class test.test_multiprocessing_spawn.TestSemaphoreTracker(methodName='runTest')

Bases: test._test_multiprocessing.TestSemaphoreTracker, object

class test.test_multiprocessing_spawn.TestStartMethod(methodName='runTest')

Bases: test._test_multiprocessing.TestStartMethod, object

class test.test_multiprocessing_spawn.TestStdinBadfiledescriptor(methodName='runTest')

Bases: test._test_multiprocessing.TestStdinBadfiledescriptor, object

class test.test_multiprocessing_spawn.TestTimeouts(methodName='runTest')

Bases: test._test_multiprocessing.TestTimeouts, object

class test.test_multiprocessing_spawn.TestWait(methodName='runTest')

Bases: test._test_multiprocessing.TestWait, object

class test.test_multiprocessing_spawn.WithManagerTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestContainers(methodName='runTest')

Bases: test._test_multiprocessing._TestContainers, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestMyManager(methodName='runTest')

Bases: test._test_multiprocessing._TestMyManager, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestRemoteManager(methodName='runTest')

Bases: test._test_multiprocessing._TestRemoteManager, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithManagerTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ManagerMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestArray(methodName='runTest')

Bases: test._test_multiprocessing._TestArray, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestConnection(methodName='runTest')

Bases: test._test_multiprocessing._TestConnection, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestFinalize(methodName='runTest')

Bases: test._test_multiprocessing._TestFinalize, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestHeap(methodName='runTest')

Bases: test._test_multiprocessing._TestHeap, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestListener(methodName='runTest')

Bases: test._test_multiprocessing._TestListener, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestListenerClient(methodName='runTest')

Bases: test._test_multiprocessing._TestListenerClient, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestLogging(methodName='runTest')

Bases: test._test_multiprocessing._TestLogging, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestPicklingConnections(methodName='runTest')

Bases: test._test_multiprocessing._TestPicklingConnections, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestPoll(methodName='runTest')

Bases: test._test_multiprocessing._TestPoll, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestPollEintr(methodName='runTest')

Bases: test._test_multiprocessing._TestPollEintr, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerErrors(methodName='runTest')

Bases: test._test_multiprocessing._TestPoolWorkerErrors, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerLifetime(methodName='runTest')

Bases: test._test_multiprocessing._TestPoolWorkerLifetime, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestProcess, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes(methodName='runTest')

Bases: test._test_multiprocessing._TestSharedCTypes, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestSubclassingProcess, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithProcessesTestValue(methodName='runTest')

Bases: test._test_multiprocessing._TestValue, test._test_multiprocessing.ProcessesMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestBarrier(methodName='runTest')

Bases: test._test_multiprocessing._TestBarrier, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestCondition(methodName='runTest')

Bases: test._test_multiprocessing._TestCondition, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestConnection(methodName='runTest')

Bases: test._test_multiprocessing._TestConnection, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestEvent(methodName='runTest')

Bases: test._test_multiprocessing._TestEvent, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestListenerClient(methodName='runTest')

Bases: test._test_multiprocessing._TestListenerClient, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestLock(methodName='runTest')

Bases: test._test_multiprocessing._TestLock, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestManagerRestart(methodName='runTest')

Bases: test._test_multiprocessing._TestManagerRestart, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestPoll(methodName='runTest')

Bases: test._test_multiprocessing._TestPoll, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestPool(methodName='runTest')

Bases: test._test_multiprocessing._TestPool, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestProcess(methodName='runTest')

Bases: test._test_multiprocessing._TestProcess, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestQueue(methodName='runTest')

Bases: test._test_multiprocessing._TestQueue, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

class test.test_multiprocessing_spawn.WithThreadsTestSemaphore(methodName='runTest')

Bases: test._test_multiprocessing._TestSemaphore, test._test_multiprocessing.ThreadsMixin, unittest.case.TestCase

test.test_netrc module

class test.test_netrc.NetrcTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

make_nrc(test_data)[source]
test_comment_at_end_of_machine_line()[source]
test_comment_at_end_of_machine_line_no_space()[source]
test_comment_at_end_of_machine_line_pass_has_hash()[source]
test_comment_before_machine_line()[source]
test_comment_before_machine_line_hash_only()[source]
test_comment_before_machine_line_no_space()[source]
test_default()[source]
test_macros()[source]
test_password_with_internal_hash()[source]
test_password_with_leading_hash()[source]
test_password_with_trailing_hash()[source]
test_security()[source]
test.test_netrc.test_main()[source]

test.test_nis module

test.test_nntplib module

class test.test_nntplib.CapsAfterLoginNNTPv2Handler[source]

Bases: test.test_nntplib.NNTPv2Handler

A handler that allows CAPABILITIES only after login

handle_CAPABILITIES()[source]
class test.test_nntplib.CapsAfterLoginNNTPv2Tests(methodName='runTest')[source]

Bases: test.test_nntplib.MockedNNTPTestsMixin, unittest.case.TestCase

Tests a probably NNTP v2 server with capabilities only after login.

handler_class

alias of CapsAfterLoginNNTPv2Handler

nntp_version = 2
test_caps_only_after_login()[source]
class test.test_nntplib.MiscTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode_header()[source]
test_parse_datetime()[source]
test_parse_overview()[source]
test_parse_overview_fmt()[source]
test_ssl_support()[source]
test_unparse_datetime()[source]
test_unparse_datetime_legacy()[source]
class test.test_nntplib.MockedNNTPTestsMixin[source]

Bases: object

handler_class = None
make_server(*args, **kwargs)[source]
setUp()[source]
tearDown()[source]
class test.test_nntplib.MockedNNTPWithReaderModeMixin[source]

Bases: test.test_nntplib.MockedNNTPTestsMixin

setUp()[source]
class test.test_nntplib.ModeSwitchingNNTPv2Handler[source]

Bases: test.test_nntplib.NNTPv2Handler

A server that starts in transit mode

handle_CAPABILITIES()[source]
handle_MODE(what)[source]
class test.test_nntplib.NNTPv1Handler[source]

Bases: object

A handler for RFC 977

expect_body()[source]

Flag that the client is expected to post a request body

handle_ARTICLE(message_spec=None)[source]
handle_AUTHINFO(cred_type, data)[source]
handle_BODY(message_spec=None)[source]
handle_DATE()[source]
handle_GROUP(group)[source]
handle_HEAD(message_spec=None)[source]
handle_HELP()[source]
handle_IHAVE(message_id, *, body=None)[source]
handle_LAST()[source]
handle_LIST(action=None, param=None)[source]
handle_NEWNEWS(group, date_str, time_str)[source]
handle_NEXT()[source]
handle_POST(*, body=None)[source]
handle_QUIT()[source]
handle_STAT(message_spec=None)[source]
handle_XOVER(message_spec)[source]
handle_unknown()[source]
handle_welcome()[source]
process_pending()[source]
push_data(data)[source]

Push some binary data

push_lit(lit)[source]

Push a string literal

sample_article = ' From: "Demo User" <nobody@example.net>\n Subject: I am just a test article\n Content-Type: text/plain; charset=UTF-8; format=flowed\n Message-ID: <i.am.an.article.you.will.want@example.com>\n\n This is just a test article.\n ..Here is a dot-starting line.\n\n -- Signed by André.'
sample_body = ' This is just a test article.\n ..Here is a dot-starting line.\n\n -- Signed by André.'
sample_head = ' From: "Demo User" <nobody@example.net>\n Subject: I am just a test article\n Content-Type: text/plain; charset=UTF-8; format=flowed\n Message-ID: <i.am.an.article.you.will.want@example.com>'
start(readline, push_data)[source]
welcome = '200 NNTP mock server'
class test.test_nntplib.NNTPv1Tests(methodName='runTest')[source]

Bases: test.test_nntplib.NNTPv1v2TestsMixin, test.test_nntplib.MockedNNTPTestsMixin, unittest.case.TestCase

Tests an NNTP v1 server (no capabilities).

handler_class

alias of NNTPv1Handler

nntp_version = 1
test_caps()[source]
class test.test_nntplib.NNTPv1v2TestsMixin[source]

Bases: object

check_over_xover_resp(resp, overviews)[source]
check_post_ihave(func, success_resp, *args)[source]
sample_post = b'From: "Demo User" <nobody@example.net>\r\nSubject: I am just a test article\r\nContent-Type: text/plain; charset=UTF-8; format=flowed\r\nMessage-ID: <i.am.an.article.you.will.want@example.com>\r\n\r\nThis is just a test article.\r\n.Here is a dot-starting line.\r\n\r\n-- Signed by Andr\xc3\xa9.\r\n'
setUp()[source]
test_article()[source]
test_article_file()[source]
test_authinfo()[source]
test_body()[source]
test_body_file()[source]
test_date()[source]
test_description()[source]
test_descriptions()[source]
test_group()[source]
test_head()[source]
test_head_file()[source]
test_help()[source]
test_ihave()[source]
test_last()[source]
test_list()[source]
test_newnews()[source]
test_next()[source]
test_over()[source]
test_post()[source]
test_quit()[source]
test_stat()[source]
test_too_long_lines()[source]
test_welcome()[source]
test_xover()[source]
class test.test_nntplib.NNTPv2Handler[source]

Bases: test.test_nntplib.NNTPv1Handler

A handler for RFC 3977 (NNTP “v2”)

handle_CAPABILITIES()[source]
handle_MODE(_)[source]
handle_OVER(message_spec=None)[source]
class test.test_nntplib.NNTPv2Tests(methodName='runTest')[source]

Bases: test.test_nntplib.NNTPv1v2TestsMixin, test.test_nntplib.MockedNNTPTestsMixin, unittest.case.TestCase

Tests an NNTP v2 server (with capabilities).

handler_class

alias of NNTPv2Handler

nntp_version = 2
test_caps()[source]
class test.test_nntplib.NetworkedNNTPTests(methodName='runTest')[source]

Bases: test.test_nntplib.NetworkedNNTPTestsMixin, unittest.case.TestCase

GROUP_NAME = 'fr.comp.lang.python'
GROUP_PAT = 'fr.comp.lang.*'
NNTP_CLASS

alias of NNTP

NNTP_HOST = 'news.trigofacile.com'
classmethod setUpClass()[source]
classmethod tearDownClass()[source]
class test.test_nntplib.NetworkedNNTPTestsMixin[source]

Bases: object

check_article_resp(resp, article, art_num=None)[source]
test_article_head_body()[source]
test_capabilities()[source]
test_date()[source]
test_description()[source]
test_descriptions()[source]
test_group()[source]
test_help()[source]
test_list()[source]
test_list_active()[source]
test_newgroups()[source]
test_over()[source]
test_starttls()[source]
test_unknown_command()[source]
test_welcome()[source]
test_with_statement()[source]
test_xhdr()[source]
test_xover()[source]
test_zlogin()[source]
test_zzquit()[source]
classmethod wrap_methods()[source]
class test.test_nntplib.NetworkedNNTP_SSLTests(methodName='runTest')[source]

Bases: test.test_nntplib.NetworkedNNTPTests

GROUP_NAME = 'comp.lang.python'
GROUP_PAT = 'comp.lang.*'
NNTP_CLASS

alias of NNTP_SSL

NNTP_HOST = 'nntp.aioe.org'
test_list = None
test_starttls = None
class test.test_nntplib.PublicAPITests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Ensures that the correct values are exposed in the public API.

test_module_all_attribute()[source]
class test.test_nntplib.SendReaderNNTPv2Tests(methodName='runTest')[source]

Bases: test.test_nntplib.MockedNNTPWithReaderModeMixin, unittest.case.TestCase

Same tests as for v2 but we tell NTTP to send MODE READER to a server that isn’t in READER mode by default.

handler_class

alias of ModeSwitchingNNTPv2Handler

nntp_version = 2
test_we_are_in_reader_mode_after_connect()[source]

test.test_normalization module

test.test_normalization.NFC(str)[source]
test.test_normalization.NFD(str)[source]
test.test_normalization.NFKC(str)[source]
test.test_normalization.NFKD(str)[source]
class test.test_normalization.NormalizationTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug_834676()[source]
test_main()[source]
exception test.test_normalization.RangeError[source]

Bases: Exception

test.test_normalization.check_version(testfile)[source]
test.test_normalization.test_main()[source]
test.test_normalization.unistr(data)[source]

test.test_ntpath module

class test.test_ntpath.NtCommonTest(methodName='runTest')[source]

Bases: test.test_genericpath.CommonTest, unittest.case.TestCase

attributes = ['relpath', 'splitunc']
pathmodule = <module 'ntpath' from 'C:\\Python34\\lib\\ntpath.py'>
class test.test_ntpath.TestNtpath(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_abspath()[source]
test_commonprefix()[source]
test_expanduser()[source]
test_expandvars()[source]
test_expandvars_nonascii()[source]
test_isabs()[source]
test_ismount()[source]
test_join()[source]
test_normpath()[source]
test_relpath()[source]
test_sameopenfile()[source]
test_split()[source]
test_splitdrive()[source]
test_splitext()[source]
test_splitunc()[source]
test.test_ntpath.tester(fn, wantResult)[source]

test.test_numeric_tower module

class test.test_numeric_tower.ComparisonTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_complex()[source]
test_mixed_comparisons()[source]
class test.test_numeric_tower.HashTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_equal_hash(x, y)[source]
test_binary_floats()[source]
test_bools()[source]
test_complex()[source]
test_decimals()[source]
test_fractions()[source]
test_hash_normalization()[source]
test_integers()[source]
test.test_numeric_tower.test_main()[source]

test.test_opcodes module

class test.test_opcodes.OpcodeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_compare_function_objects()[source]
test_modulo_of_string_subclasses()[source]
test_raise_class_exceptions()[source]
test_try_inside_for_loop()[source]
test.test_opcodes.test_main()[source]

test.test_openpty module

test.test_operator module

class test.test_operator.COperatorTestCase(methodName='runTest')[source]

Bases: test.test_operator.OperatorTestCase, unittest.case.TestCase

module = <module 'operator' from 'C:\\Python34\\lib\\operator.py'>
class test.test_operator.OperatorTestCase[source]

Bases: object

test_abs()[source]
test_add()[source]
test_attrgetter()[source]
test_bitwise_and()[source]
test_bitwise_or()[source]
test_bitwise_xor()[source]
test_concat()[source]
test_contains()[source]
test_countOf()[source]
test_delitem()[source]
test_dunder_is_original()[source]
test_eq()[source]
test_floordiv()[source]
test_ge()[source]
test_getitem()[source]
test_gt()[source]
test_indexOf()[source]
test_inplace()[source]
test_invert()[source]
test_is()[source]
test_is_not()[source]
test_itemgetter()[source]
test_le()[source]
test_length_hint()[source]
test_lshift()[source]
test_lt()[source]
test_methodcaller()[source]
test_mod()[source]
test_mul()[source]
test_ne()[source]
test_neg()[source]
test_pos()[source]
test_pow()[source]
test_rshift()[source]
test_setitem()[source]
test_sub()[source]
test_truediv()[source]
test_truth()[source]
class test.test_operator.PyOperatorTestCase(methodName='runTest')[source]

Bases: test.test_operator.OperatorTestCase, unittest.case.TestCase

module = <module 'operator' from 'C:\\Python34\\lib\\operator.py'>
class test.test_operator.Seq1(lst)[source]

Bases: object

class test.test_operator.Seq2(lst)[source]

Bases: object

test.test_optparse module

class test.test_optparse.BaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertHelp(parser, expected_help)[source]
assertOutput(cmdline_args, expected_output, expected_status=0, expected_error=None)[source]

Assert the parser prints the expected output on stdout.

assertParseFail(cmdline_args, expected_output)[source]

Assert the parser fails with the expected message. Caller must ensure that self.parser is an InterceptingOptionParser.

assertParseOK(args, expected_opts, expected_positional_args)[source]

Assert the options are what we expected when parsing arguments.

Otherwise, fail with a nicely formatted message.

Keyword arguments: args – A list of arguments to parse with OptionParser. expected_opts – The options expected. expected_positional_args – The positional arguments expected.

Returns the options and positional args for further testing.

assertRaises(func, args, kwargs, expected_exception, expected_message)[source]

Assert that the expected exception is raised when calling a function, and that the right error message is included with that exception.

Arguments:

func – the function to call args – positional arguments to func kwargs – keyword arguments to func expected_exception – exception that should be raised expected_message – expected exception message (or pattern

if a compiled regex object)

Returns the exception raised for further testing.

assertTypeError(func, expected_message, *args)[source]

Assert that TypeError is raised when executing func.

class test.test_optparse.ConflictBase(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
show_version(option, opt, value, parser)[source]
class test.test_optparse.DurationOption(*opts, **attrs)[source]

Bases: optparse.Option

TYPES = ('string', 'int', 'long', 'float', 'complex', 'choice', 'duration')
TYPE_CHECKER = {'long': <function check_builtin at 0x0182C618>, 'duration': <function _check_duration at 0x23919078>, 'choice': <function check_choice at 0x0182C660>, 'float': <function check_builtin at 0x0182C618>, 'int': <function check_builtin at 0x0182C618>, 'complex': <function check_builtin at 0x0182C618>}
exception test.test_optparse.InterceptedError(error_message=None, exit_status=None, exit_message=None)[source]

Bases: Exception

class test.test_optparse.InterceptingOptionParser(usage=None, option_list=None, option_class=<class 'optparse.Option'>, version=None, conflict_handler='error', description=None, formatter=None, add_help_option=True, prog=None, epilog=None)[source]

Bases: optparse.OptionParser

error(msg)[source]
exit(status=0, msg=None)[source]
class test.test_optparse.TestBool(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_bool_default()[source]
test_bool_false()[source]
test_bool_flicker_on_and_off()[source]
test_bool_true()[source]
class test.test_optparse.TestCallback(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

process_opt(option, opt, value, parser_)[source]
setUp()[source]
test_callback()[source]
test_callback_help()[source]
class test.test_optparse.TestCallbackCheckAbbrev(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

check_abbrev(option, opt, value, parser)[source]
setUp()[source]
test_abbrev_callback_expansion()[source]
class test.test_optparse.TestCallbackExtraArgs(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

process_tuple(option, opt, value, parser_, len, type)[source]
setUp()[source]
test_callback_extra_args()[source]
class test.test_optparse.TestCallbackManyArgs(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

process_many(option, opt, value, parser_)[source]
setUp()[source]
test_many_args()[source]
class test.test_optparse.TestCallbackMeddleArgs(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

process_n(option, opt, value, parser_)[source]
setUp()[source]
test_callback_meddle_args()[source]
test_callback_meddle_args_separator()[source]
class test.test_optparse.TestCallbackVarArgs(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_consume_separator_stop_at_option()[source]
test_positional_arg_and_variable_args()[source]
test_stop_at_invalid_option()[source]
test_stop_at_option()[source]
test_variable_args()[source]
variable_args(option, opt, value, parser)[source]
class test.test_optparse.TestChoice(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_add_choice_option()[source]
test_invalid_choice()[source]
test_valid_choice()[source]
class test.test_optparse.TestConflict(methodName='runTest')[source]

Bases: test.test_optparse.ConflictBase

Use the default conflict resolution for Optik 1.2: error.

assertTrueconflict_error(func)[source]
test_conflict_error()[source]
test_conflict_error_group()[source]
test_no_such_conflict_handler()[source]
class test.test_optparse.TestConflictOverride(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_conflict_override_args()[source]
test_conflict_override_help()[source]
test_conflict_override_opts()[source]
class test.test_optparse.TestConflictResolve(methodName='runTest')[source]

Bases: test.test_optparse.ConflictBase

setUp()[source]
test_conflict_resolve()[source]
test_conflict_resolve_help()[source]
test_conflict_resolve_long_opt()[source]
test_conflict_resolve_long_opts()[source]
test_conflict_resolve_short_opt()[source]
class test.test_optparse.TestConflictingDefaults(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

Conflicting default values: the last one should win.

setUp()[source]
test_conflict_default()[source]
test_conflict_default_none()[source]
class test.test_optparse.TestCount(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_count_interspersed_args()[source]
test_count_no_interspersed_args()[source]
test_count_no_such_option()[source]
test_count_one()[source]
test_count_option_no_value()[source]
test_count_override_amount()[source]
test_count_override_quiet()[source]
test_count_overriding()[source]
test_count_overriding_default()[source]
test_count_three()[source]
test_count_three_apart()[source]
test_count_with_default()[source]
test_empty()[source]
class test.test_optparse.TestDefaultValues(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_basic_defaults()[source]
test_mixed_defaults_post()[source]
test_mixed_defaults_pre()[source]
test_process_default()[source]
class test.test_optparse.TestExpandDefaults(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_alt_expand()[source]
test_default_none_1()[source]
test_default_none_2()[source]
test_float_default()[source]
test_no_default()[source]
test_no_expand()[source]
test_option_default()[source]
test_parser_default_1()[source]
test_parser_default_2()[source]
class test.test_optparse.TestExtendAddActions(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

class MyOption(*opts, **attrs)[source]

Bases: optparse.Option

ACTIONS = ('store', 'store_const', 'store_true', 'store_false', 'append', 'append_const', 'count', 'callback', 'help', 'version', 'extend')
STORE_ACTIONS = ('store', 'store_const', 'store_true', 'store_false', 'append', 'append_const', 'count', 'extend')
TYPED_ACTIONS = ('store', 'append', 'callback', 'extend')
take_action(action, dest, opt, value, values, parser)[source]
TestExtendAddActions.setUp()[source]
TestExtendAddActions.test_extend_add_action()[source]
TestExtendAddActions.test_extend_add_action_normal()[source]
class test.test_optparse.TestExtendAddTypes(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

class MyOption(*opts, **attrs)[source]

Bases: optparse.Option

TYPES = ('string', 'int', 'long', 'float', 'complex', 'choice', 'file')
TYPE_CHECKER = {'long': <function check_builtin at 0x0182C618>, 'choice': <function check_choice at 0x0182C660>, 'file': <function TestExtendAddTypes.MyOption.check_file at 0x23924978>, 'float': <function check_builtin at 0x0182C618>, 'int': <function check_builtin at 0x0182C618>, 'complex': <function check_builtin at 0x0182C618>}
check_file(option, opt, value)[source]
TestExtendAddTypes.setUp()[source]
TestExtendAddTypes.tearDown()[source]
TestExtendAddTypes.test_filetype_noexist()[source]
TestExtendAddTypes.test_filetype_notfile()[source]
TestExtendAddTypes.test_filetype_ok()[source]
class test.test_optparse.TestHelp(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

assertHelpEquals(expected_output)[source]
make_parser(columns)[source]
setUp()[source]
test_help()[source]
test_help_description_groups()[source]
test_help_long_opts_first()[source]
test_help_old_usage()[source]
test_help_title_formatter()[source]
test_help_unicode()[source]
test_help_unicode_description()[source]
test_wrap_columns()[source]
class test.test_optparse.TestMatchAbbrev(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

test_match_abbrev()[source]
test_match_abbrev_error()[source]
class test.test_optparse.TestMultipleArgs(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_nargs_invalid_float_value()[source]
test_nargs_long_opt()[source]
test_nargs_required_values()[source]
test_nargs_with_positional_args()[source]
class test.test_optparse.TestMultipleArgsAppend(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_nargs_append()[source]
test_nargs_append_const()[source]
test_nargs_append_required_values()[source]
test_nargs_append_simple()[source]
class test.test_optparse.TestOptionChecks(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

assertOptionError(expected_message, args=[], kwargs={})[source]
dummy()[source]
setUp()[source]
test_action_invalid()[source]
test_attr_invalid()[source]
test_bad_choices_list()[source]
test_callback_args_no_tuple()[source]
test_callback_kwargs_no_dict()[source]
test_callback_not_callable()[source]
test_no_callback_args_for_action()[source]
test_no_callback_for_action()[source]
test_no_callback_kwargs_for_action()[source]
test_no_choices_for_type()[source]
test_no_choices_list()[source]
test_no_const_for_action()[source]
test_no_nargs_for_action()[source]
test_no_single_dash()[source]
test_no_type_for_action()[source]
test_opt_string_empty()[source]
test_opt_string_long_invalid()[source]
test_opt_string_short_invalid()[source]
test_opt_string_too_short()[source]
test_type_invalid()[source]
class test.test_optparse.TestOptionGroup(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_add_group_invalid_arguments()[source]
test_add_group_no_group()[source]
test_add_group_wrong_parser()[source]
test_group_manipulate()[source]
test_option_group_create_instance()[source]
class test.test_optparse.TestOptionParser(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

assertTrueremoved()[source]
setUp()[source]
test_add_option_invalid_arguments()[source]
test_add_option_no_Option()[source]
test_get_option()[source]
test_get_option_equals()[source]
test_has_option()[source]
test_refleak()[source]
test_remove_long_opt()[source]
test_remove_nonexistent()[source]
test_remove_short_opt()[source]
class test.test_optparse.TestOptionValues(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_basics()[source]
class test.test_optparse.TestParseNumber(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_numeric_options()[source]
test_parse_num_fail()[source]
test_parse_num_ok()[source]
class test.test_optparse.TestProgName(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

Test that %prog expands to the right thing in usage, version, and help strings.

assertUsage(parser, expected_usage)[source]
assertVersion(parser, expected_version)[source]
test_custom_progname()[source]
test_default_progname()[source]
class test.test_optparse.TestStandard(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_abbrev_long_option()[source]
test_ambiguous_option()[source]
test_combined_single_invalid_option()[source]
test_defaults()[source]
test_empty()[source]
test_hyphen_becomes_positional_arg()[source]
test_invalid_integer()[source]
test_long_invalid_integer()[source]
test_long_option_append()[source]
test_long_option_argument_joined()[source]
test_long_option_argument_split()[source]
test_long_option_short_option()[source]
test_no_append_versus_append()[source]
test_no_such_option()[source]
test_option_argument_joined()[source]
test_option_argument_joined_integer()[source]
test_option_argument_split()[source]
test_option_argument_split_negative_integer()[source]
test_option_consumes_optionlike_string()[source]
test_required_value()[source]
test_short_and_long_option_split()[source]
test_short_option_consumes_separator()[source]
test_short_option_joined_and_separator()[source]
test_short_option_split_long_option_append()[source]
test_short_option_split_one_positional_arg()[source]
test_shortopt_empty_longopt_append()[source]
class test.test_optparse.TestTypeAliases(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

setUp()[source]
test_str_aliases_string()[source]
test_type_object()[source]
class test.test_optparse.TestVersion(methodName='runTest')[source]

Bases: test.test_optparse.BaseTest

test_no_version()[source]
test_version()[source]
test.test_optparse.test_main()[source]

test.test_os module

class test.test_os.CPUCountTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cpu_count()[source]
class test.test_os.DevNullTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_devnull()[source]
class test.test_os.DeviceEncodingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_fd()[source]
test_device_encoding()[source]
class test.test_os.EnvironTests(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

check that os.environ object conform to mapping protocol

setUp()[source]
tearDown()[source]
test___repr__()[source]

Check that the repr() of os.environ looks like environ({...}).

test_environb()[source]
test_get_exec_path()[source]
test_items()[source]
test_key_type()[source]
test_keyvalue_types()[source]
test_os_popen_iter()[source]
test_unset_error()[source]
test_update2()[source]
type2test = None
class test.test_os.ExecTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_execvpe_with_bad_arglist()[source]
test_execvpe_with_bad_program()[source]
test_internal_execvpe_str()[source]
class test.test_os.ExtendedAttributeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
test_fds()[source]
test_lpath()[source]
test_simple()[source]
class test.test_os.FDInheritanceTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_dup()[source]
test_dup2()[source]
test_get_inheritable_cloexec()[source]
test_get_set_inheritable()[source]
test_open()[source]
test_openpty()[source]
test_pipe()[source]
test_set_inheritable_cloexec()[source]
class test.test_os.FSEncodingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_identity()[source]
test_nop()[source]
class test.test_os.FileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

fdopen_helper(*args)[source]
setUp()[source]
tearDown()
test_access()[source]
test_closerange()[source]
test_fdopen()[source]
test_read()[source]
test_rename()[source]
test_replace()[source]
test_write()[source]
test_write_windows_console()[source]
write_windows_console(*args)[source]
class test.test_os.FwalkTests(methodName='runTest')[source]

Bases: test.test_os.WalkTests

Tests for os.fwalk().

tearDown()[source]
test_compare_to_walk()[source]
test_dir_fd()[source]
test_fd_leak()[source]
test_yields_correct_dir_fd()[source]
class test.test_os.LinkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_unicode_name()[source]
class test.test_os.LoginTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_getlogin()[source]
class test.test_os.MakedirTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_chown_uid_gid_arguments_must_be_index()[source]
test_exist_ok_existing_directory()[source]
test_exist_ok_existing_regular_file()[source]
test_exist_ok_s_isgid_directory()[source]
test_makedir()[source]
class test.test_os.NonLocalSymlinkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]

Create this structure:

base
___ some_dir
tearDown()[source]

The symlink target should resolve relative to the link, not relative to the current directory.

Then, link base/some_link -> base/some_dir and ensure that some_link is resolved as a directory.

In issue13772, it was discovered that directory detection failed if the symlink target was not specified relative to the current directory, which was a defect in the implementation.

class test.test_os.OSErrorTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_oserror_filename()[source]
class test.test_os.Pep383Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_listdir()[source]
test_open()[source]
test_stat()[source]
test_statvfs()[source]
class test.test_os.PidTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_getppid()[source]
class test.test_os.PosixUidGidTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_setegid()[source]
test_seteuid()[source]
test_setgid()[source]
test_setregid()[source]
test_setregid_neg1()[source]
test_setreuid()[source]
test_setreuid_neg1()[source]
test_setuid()[source]
class test.test_os.ProgramPriorityTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for os.getpriority() and os.setpriority().

test_set_get_priority()[source]
class test.test_os.RemoveDirsTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_remove_all()[source]
test_remove_nothing()[source]
test_remove_partial()[source]
class test.test_os.SendfileTestServer(address)[source]

Bases: asyncore.dispatcher, threading.Thread

class Handler(conn)[source]

Bases: asynchat.async_chat

get_data()[source]
handle_close()[source]
handle_error()[source]
handle_read()[source]
SendfileTestServer.handle_accept()[source]
SendfileTestServer.handle_connect()[source]
SendfileTestServer.handle_error()[source]
SendfileTestServer.handle_read()
SendfileTestServer.run()[source]
SendfileTestServer.running
SendfileTestServer.start()[source]
SendfileTestServer.stop()[source]
SendfileTestServer.wait()[source]
SendfileTestServer.writable()[source]
class test.test_os.StatAttributeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_stat_attributes(fname)[source]
get_file_system(path)[source]
requires_utime_dir_fd(test_item)
requires_utime_fd(test_item)
setUp()[source]
tearDown()[source]
test_15261()[source]
test_1565150()[source]
test_1686475()[source]
test_futimens_subsecond()[source]
test_futimes_ns()[source]
test_futimes_subsecond()[source]
test_futimesat_subsecond()[source]
test_large_time()[source]
test_lutimes_ns()[source]
test_lutimes_subsecond()[source]
test_stat_attributes()[source]
test_stat_attributes_bytes()[source]
test_stat_result_pickle()[source]
test_statvfs_attributes()[source]
test_statvfs_result_pickle()[source]
test_utime()[source]
test_utime_dir()[source]
test_utime_invalid_arguments()[source]
test_utime_ns()[source]
test_utime_subsecond()[source]
test_utimensat_subsecond()[source]
class test.test_os.TermsizeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_does_not_crash()[source]

Check if get_terminal_size() returns a meaningful value.

There’s no easy portable way to actually check the size of the terminal, so let’s check if it returns something sensible instead.

test_stty_match()[source]

Check if stty returns the same results

stty actually tests stdin, so get_terminal_size is invoked on stdin explicitly. If stty succeeded, then get_terminal_size() should work too.

class test.test_os.TestInvalidFD(methodName='runTest')[source]

Bases: unittest.case.TestCase

check(f, *args)[source]
f = 'ttyname'
get_single(f)[source]
singles = ['fchdir', 'dup', 'fdopen', 'fdatasync', 'fstat', 'fstatvfs', 'fsync', 'tcgetpgrp', 'ttyname']
test_closerange()[source]
test_dup()
test_dup2()[source]
test_fchdir()
test_fchmod()[source]
test_fchown()[source]
test_fdatasync()
test_fdopen()
test_fpathconf()[source]
test_fstat()
test_fstatvfs()
test_fsync()
test_ftruncate()[source]
test_isatty()[source]
test_lseek()[source]
test_read()[source]
test_readv()[source]
test_tcgetpgrp()
test_tcsetpgrpt()[source]
test_ttyname()
test_write()[source]
test_writev()[source]
class test.test_os.TestSendfile(methodName='runTest')[source]

Bases: unittest.case.TestCase

DATA = b'12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde'
SUPPORT_HEADERS_TRAILERS = True
requires_headers_trailers(obj)
sendfile_wrapper(sock, file, offset, nbytes, headers=[], trailers=[])[source]

A higher level wrapper representing how an application is supposed to use sendfile().

setUp()[source]
classmethod setUpClass()[source]
tearDown()[source]
classmethod tearDownClass()[source]
test_flags()[source]
test_headers()[source]
test_invalid_offset()[source]
test_offset_overflow()[source]
test_send_at_certain_offset()[source]
test_send_whole_file()[source]
test_trailers()[source]
class test.test_os.URandomTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

get_urandom_subprocess(count)[source]
test_urandom_failure()[source]
test_urandom_fd_closed()[source]
test_urandom_fd_reopened()[source]
test_urandom_length()[source]
test_urandom_subprocess()[source]
test_urandom_value()[source]
class test.test_os.WalkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for os.walk().

setUp()[source]
tearDown()[source]
class test.test_os.Win32DeprecatedBytesAPI(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_deprecated()[source]
class test.test_os.Win32ErrorTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_chdir()[source]
test_chmod()[source]
test_mkdir()[source]
test_remove()[source]
test_rename()[source]
test_utime()[source]
class test.test_os.Win32KillTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_CTRL_BREAK_EVENT()[source]
test_CTRL_C_EVENT()[source]
test_kill_int()[source]
test_kill_sigterm()[source]
class test.test_os.Win32ListdirTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test listdir on Windows.

setUp()[source]
tearDown()[source]
test_listdir_extended_path()[source]

Test when the path starts with ‘\?’.

test_listdir_no_extended_path()[source]

Test when the path is not an “extended” path.

class test.test_os.Win32SymlinkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_stat(link, target)[source]
setUp()[source]
tearDown()[source]
test_12084()[source]
test.test_os.supports_extended_attributes()[source]
test.test_os.test_main()[source]

test.test_ossaudiodev module

test.test_osx_env module

Test suite for OS X interpreter environment variables.

class test.test_osx_env.OSXEnvironmentVariableTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_pythonexecutable_sets_sys_executable()[source]

test.test_parser module

class test.test_parser.CompileTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_compile_badunicode()[source]
test_compile_error()[source]
test_compile_expr()[source]
test_compile_suite()[source]
test_issue_9011()[source]
class test.test_parser.IllegalSyntaxTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_bad_tree(tree, label)[source]
test_a_comma_comma_c()[source]
test_illegal_operator()[source]
test_illegal_yield_1()[source]
test_illegal_yield_2()[source]
test_junk()[source]
test_malformed_global()[source]
test_missing_import_source()[source]
class test.test_parser.OtherParserCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_two_args_to_expr()[source]
class test.test_parser.ParserStackLimitTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

try to push the parser to/over its limits. see http://bugs.python.org/issue1881 for a discussion

test_deeply_nested_list()[source]
test_trigger_memory_error()[source]
class test.test_parser.RoundtripLegalSyntaxTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_expr(s)[source]
check_suite(s)[source]
roundtrip(f, s)[source]
test_assert()[source]
test_basic_import_statement()[source]
test_class_defs()[source]
test_dict_comprehensions()[source]
test_dict_displays()[source]
test_expressions()[source]
test_extended_unpacking()[source]
test_flags_passed()[source]
test_function_defs()[source]
test_import_from_statement()[source]
test_nonlocal_statement()[source]
test_pep263()[source]
test_position()[source]
test_raise_statement()[source]
test_relative_imports()[source]
test_set_comprehensions()[source]
test_set_displays()[source]
test_simple_assignments()[source]
test_simple_augmented_assignments()[source]
test_simple_expression()[source]
test_try_stmt()[source]
test_with()[source]
test_yield_statement()[source]
class test.test_parser.STObjectTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test operations on ST objects themselves

check_sizeof(test, o, size)
test_comparisons()[source]
test_sizeof()[source]
test.test_parser.test_main()[source]

test.test_pathlib module

class test.test_pathlib.NTFlavourTest(methodName='runTest')[source]

Bases: test.test_pathlib._BaseFlavourTest, unittest.case.TestCase

flavour = <pathlib._WindowsFlavour object>
test_parse_parts()[source]
test_splitroot()[source]
class test.test_pathlib.PathTest(methodName='runTest')[source]

Bases: test.test_pathlib._BasePathTest, unittest.case.TestCase

cls

alias of Path

test_concrete_class()[source]
test_unsupported_flavour()[source]
class test.test_pathlib.PosixFlavourTest(methodName='runTest')[source]

Bases: test.test_pathlib._BaseFlavourTest, unittest.case.TestCase

flavour = <pathlib._PosixFlavour object at 0x140177D0>
test_parse_parts()[source]
test_splitroot()[source]
class test.test_pathlib.PosixPathAsPureTest(methodName='runTest')[source]

Bases: test.test_pathlib.PurePosixPathTest

cls

alias of PosixPath

class test.test_pathlib.PosixPathTest(methodName='runTest')[source]

Bases: test.test_pathlib._BasePathTest, unittest.case.TestCase

cls

alias of PosixPath

test_glob()[source]
test_open_mode()[source]
test_resolve_loop()[source]
test_rglob()[source]
test_touch_mode()[source]
class test.test_pathlib.PurePathTest(methodName='runTest')[source]

Bases: test.test_pathlib._BasePurePathTest, unittest.case.TestCase

cls

alias of PurePath

test_concrete_class()[source]
test_different_flavours_unequal()[source]
test_different_flavours_unordered()[source]
class test.test_pathlib.PurePosixPathTest(methodName='runTest')[source]

Bases: test.test_pathlib._BasePurePathTest, unittest.case.TestCase

cls

alias of PurePosixPath

test_as_uri()[source]
test_as_uri_non_ascii()[source]
test_div()[source]
test_eq()[source]
test_is_absolute()[source]
test_is_reserved()[source]
test_join()[source]
test_match()[source]
test_root()[source]
class test.test_pathlib.PureWindowsPathTest(methodName='runTest')[source]

Bases: test.test_pathlib._BasePurePathTest, unittest.case.TestCase

cls

alias of PureWindowsPath

equivalences = {'//a/b/c': [('//a/b', 'c'), ('//a/b/', 'c')], '//a/b/': [('//a/b',)], 'c:a': [('c:', 'a'), ('c:', 'a/'), ('/', 'c:', 'a')], '/b/c/d': [('a', '/b/c', 'd'), ('a', '///b//c', 'd/'), ('/a', '/b/c', 'd'), ('/', 'b', '', 'c/d'), ('/', '', 'b/c/d'), ('', '/b/c/d')], 'a/b': [('a', 'b'), ('a/', 'b'), ('a', 'b/'), ('a/', 'b/'), ('a/b/',), ('a//b',), ('a//b//',), ('', 'a', 'b'), ('a', '', 'b'), ('a', 'b', '')], 'c:/a': [('c:/', 'a'), ('c:', '/', 'a'), ('c:', '/a'), ('/z', 'c:/', 'a'), ('//x/y', 'c:/', 'a')]}
test_anchor()[source]
test_as_uri()[source]
test_div()[source]
test_drive()[source]
test_eq()[source]
test_is_absolute()[source]
test_is_reserved()[source]
test_join()[source]
test_match_common()[source]
test_name()[source]
test_ordering_common()[source]
test_parent()[source]
test_parents()[source]
test_parts()[source]
test_relative_to()[source]
test_root()[source]
test_stem()[source]
test_str()[source]
test_str_subclass()[source]
test_suffix()[source]
test_suffixes()[source]
test_with_name()[source]
test_with_suffix()[source]
class test.test_pathlib.WindowsPathAsPureTest(methodName='runTest')[source]

Bases: test.test_pathlib.PureWindowsPathTest

cls

alias of WindowsPath

class test.test_pathlib.WindowsPathTest(methodName='runTest')[source]

Bases: test.test_pathlib._BasePathTest, unittest.case.TestCase

cls

alias of WindowsPath

test_glob()[source]
test_rglob()[source]
test.test_pathlib.join(*x)
test.test_pathlib.rel_join(*x)

test.test_pdb module

class test.test_pdb.PdbTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

run_pdb(script, commands)[source]

Run ‘script’ lines with pdb and the pdb ‘commands’.

tearDown()[source]
test_find_function_empty_file()[source]
test_find_function_found()[source]
test_issue13183()[source]
test_issue13210()[source]
test_issue7964()[source]
class test.test_pdb.PdbTestInput(input)[source]

Bases: object

Context manager that makes testing Pdb in doctests easier.

test.test_pdb.do_nothing()[source]
test.test_pdb.do_something()[source]
test.test_pdb.load_tests(*args)[source]
test.test_pdb.pdb_invoke(method, arg)[source]

Run pdb.method(arg).

test.test_pdb.test_list_commands()[source]

Test the list and source commands of pdb.

>>> def test_function_2(foo):
...     import test.test_pdb
...     test.test_pdb.do_nothing()
...     'some...'
...     'more...'
...     'code...'
...     'to...'
...     'make...'
...     'a...'
...     'long...'
...     'listing...'
...     'useful...'
...     '...'
...     '...'
...     return foo
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     ret = test_function_2('baz')
>>> with PdbTestInput([  
...     'list',      # list first function
...     'step',      # step into second function
...     'list',      # list second function
...     'list',      # continue listing to EOF
...     'list 1,3',  # list specific lines
...     'list x',    # invalid argument
...     'next',      # step to import
...     'next',      # step over import
...     'step',      # step into do_nothing
...     'longlist',  # list all lines
...     'source do_something',  # list all lines of function
...     'source fooxxx',        # something that doesn't exit
...     'continue',
... ]):
...    test_function()
> <doctest test.test_pdb.test_list_commands[1]>(3)test_function()
-> ret = test_function_2('baz')
(Pdb) list
  1         def test_function():
  2             import pdb; pdb.Pdb(nosigint=True).set_trace()
  3  ->         ret = test_function_2('baz')
[EOF]
(Pdb) step
--Call--
> <doctest test.test_pdb.test_list_commands[0]>(1)test_function_2()
-> def test_function_2(foo):
(Pdb) list
  1  ->     def test_function_2(foo):
  2             import test.test_pdb
  3             test.test_pdb.do_nothing()
  4             'some...'
  5             'more...'
  6             'code...'
  7             'to...'
  8             'make...'
  9             'a...'
 10             'long...'
 11             'listing...'
(Pdb) list
 12             'useful...'
 13             '...'
 14             '...'
 15             return foo
[EOF]
(Pdb) list 1,3
  1  ->     def test_function_2(foo):
  2             import test.test_pdb
  3             test.test_pdb.do_nothing()
(Pdb) list x
*** ...
(Pdb) next
> <doctest test.test_pdb.test_list_commands[0]>(2)test_function_2()
-> import test.test_pdb
(Pdb) next
> <doctest test.test_pdb.test_list_commands[0]>(3)test_function_2()
-> test.test_pdb.do_nothing()
(Pdb) step
--Call--
> ...test_pdb.py(...)do_nothing()
-> def do_nothing():
(Pdb) longlist
...  ->     def do_nothing():
...             pass
(Pdb) source do_something
...         def do_something():
...             print(42)
(Pdb) source fooxxx
*** ...
(Pdb) continue
test.test_pdb.test_next_until_return_at_return_event()[source]

Test that pdb stops after a next/until/return issued at a return debug event.

>>> def test_function_2():
...     x = 1
...     x = 2
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     test_function_2()
...     test_function_2()
...     test_function_2()
...     end = 1
>>> from bdb import Breakpoint
>>> Breakpoint.next = 1
>>> with PdbTestInput(['break test_function_2',
...                    'continue',
...                    'return',
...                    'next',
...                    'continue',
...                    'return',
...                    'until',
...                    'continue',
...                    'return',
...                    'return',
...                    'continue']):
...     test_function()
> <doctest test.test_pdb.test_next_until_return_at_return_event[1]>(3)test_function()
-> test_function_2()
(Pdb) break test_function_2
Breakpoint 1 at <doctest test.test_pdb.test_next_until_return_at_return_event[0]>:1
(Pdb) continue
> <doctest test.test_pdb.test_next_until_return_at_return_event[0]>(2)test_function_2()
-> x = 1
(Pdb) return
--Return--
> <doctest test.test_pdb.test_next_until_return_at_return_event[0]>(3)test_function_2()->None
-> x = 2
(Pdb) next
> <doctest test.test_pdb.test_next_until_return_at_return_event[1]>(4)test_function()
-> test_function_2()
(Pdb) continue
> <doctest test.test_pdb.test_next_until_return_at_return_event[0]>(2)test_function_2()
-> x = 1
(Pdb) return
--Return--
> <doctest test.test_pdb.test_next_until_return_at_return_event[0]>(3)test_function_2()->None
-> x = 2
(Pdb) until
> <doctest test.test_pdb.test_next_until_return_at_return_event[1]>(5)test_function()
-> test_function_2()
(Pdb) continue
> <doctest test.test_pdb.test_next_until_return_at_return_event[0]>(2)test_function_2()
-> x = 1
(Pdb) return
--Return--
> <doctest test.test_pdb.test_next_until_return_at_return_event[0]>(3)test_function_2()->None
-> x = 2
(Pdb) return
> <doctest test.test_pdb.test_next_until_return_at_return_event[1]>(6)test_function()
-> end = 1
(Pdb) continue
test.test_pdb.test_pdb_basic_commands()[source]

Test the basic commands of pdb.

>>> def test_function_2(foo, bar='default'):
...     print(foo)
...     for i in range(5):
...         print(i)
...     print(bar)
...     for i in range(10):
...         never_executed
...     print('after for')
...     print('...')
...     return foo.upper()
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     ret = test_function_2('baz')
...     print(ret)
>>> with PdbTestInput([  
...     'step',       # entering the function call
...     'args',       # display function args
...     'list',       # list function source
...     'bt',         # display backtrace
...     'up',         # step up to test_function()
...     'down',       # step down to test_function_2() again
...     'next',       # stepping to print(foo)
...     'next',       # stepping to the for loop
...     'step',       # stepping into the for loop
...     'until',      # continuing until out of the for loop
...     'next',       # executing the print(bar)
...     'jump 8',     # jump over second for loop
...     'return',     # return out of function
...     'retval',     # display return value
...     'continue',
... ]):
...    test_function()
> <doctest test.test_pdb.test_pdb_basic_commands[1]>(3)test_function()
-> ret = test_function_2('baz')
(Pdb) step
--Call--
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(1)test_function_2()
-> def test_function_2(foo, bar='default'):
(Pdb) args
foo = 'baz'
bar = 'default'
(Pdb) list
  1  ->     def test_function_2(foo, bar='default'):
  2             print(foo)
  3             for i in range(5):
  4                 print(i)
  5             print(bar)
  6             for i in range(10):
  7                 never_executed
  8             print('after for')
  9             print('...')
 10             return foo.upper()
[EOF]
(Pdb) bt
...
  <doctest test.test_pdb.test_pdb_basic_commands[2]>(18)<module>()
-> test_function()
  <doctest test.test_pdb.test_pdb_basic_commands[1]>(3)test_function()
-> ret = test_function_2('baz')
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(1)test_function_2()
-> def test_function_2(foo, bar='default'):
(Pdb) up
> <doctest test.test_pdb.test_pdb_basic_commands[1]>(3)test_function()
-> ret = test_function_2('baz')
(Pdb) down
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(1)test_function_2()
-> def test_function_2(foo, bar='default'):
(Pdb) next
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(2)test_function_2()
-> print(foo)
(Pdb) next
baz
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(3)test_function_2()
-> for i in range(5):
(Pdb) step
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(4)test_function_2()
-> print(i)
(Pdb) until
0
1
2
3
4
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(5)test_function_2()
-> print(bar)
(Pdb) next
default
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(6)test_function_2()
-> for i in range(10):
(Pdb) jump 8
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(8)test_function_2()
-> print('after for')
(Pdb) return
after for
...
--Return--
> <doctest test.test_pdb.test_pdb_basic_commands[0]>(10)test_function_2()->'BAZ'
-> return foo.upper()
(Pdb) retval
'BAZ'
(Pdb) continue
BAZ
test.test_pdb.test_pdb_breakpoint_commands()[source]

Test basic commands related to breakpoints.

>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     print(1)
...     print(2)
...     print(3)
...     print(4)

First, need to clear bdb state that might be left over from previous tests. Otherwise, the new breakpoints might get assigned different numbers.

>>> from bdb import Breakpoint
>>> Breakpoint.next = 1
>>> Breakpoint.bplist = {}
>>> Breakpoint.bpbynumber = [None]

Now test the breakpoint commands. NORMALIZE_WHITESPACE is needed because the breakpoint list outputs a tab for the “stop only” and “ignore next” lines, which we don’t want to put in here.

>>> with PdbTestInput([  
...     'break 3',
...     'disable 1',
...     'ignore 1 10',
...     'condition 1 1 < 2',
...     'break 4',
...     'break 4',
...     'break',
...     'clear 3',
...     'break',
...     'condition 1',
...     'enable 1',
...     'clear 1',
...     'commands 2',
...     'p "42"',
...     'print("42", 7*6)',     # Issue 18764 (not about breakpoints)
...     'end',
...     'continue',  # will stop at breakpoint 2 (line 4)
...     'clear',     # clear all!
...     'y',
...     'tbreak 5',
...     'continue',  # will stop at temporary breakpoint
...     'break',     # make sure breakpoint is gone
...     'continue',
... ]):
...    test_function()
> <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(3)test_function()
-> print(1)
(Pdb) break 3
Breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
(Pdb) disable 1
Disabled breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
(Pdb) ignore 1 10
Will ignore next 10 crossings of breakpoint 1.
(Pdb) condition 1 1 < 2
New condition set for breakpoint 1.
(Pdb) break 4
Breakpoint 2 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
(Pdb) break 4
Breakpoint 3 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
(Pdb) break
Num Type         Disp Enb   Where
1   breakpoint   keep no    at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
        stop only if 1 < 2
        ignore next 10 hits
2   breakpoint   keep yes   at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
3   breakpoint   keep yes   at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
(Pdb) clear 3
Deleted breakpoint 3 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
(Pdb) break
Num Type         Disp Enb   Where
1   breakpoint   keep no    at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
        stop only if 1 < 2
        ignore next 10 hits
2   breakpoint   keep yes   at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
(Pdb) condition 1
Breakpoint 1 is now unconditional.
(Pdb) enable 1
Enabled breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
(Pdb) clear 1
Deleted breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:3
(Pdb) commands 2
(com) p "42"
(com) print("42", 7*6)
(com) end
(Pdb) continue
1
'42'
42 42
> <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(4)test_function()
-> print(2)
(Pdb) clear
Clear all breaks? y
Deleted breakpoint 2 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:4
(Pdb) tbreak 5
Breakpoint 4 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:5
(Pdb) continue
2
Deleted breakpoint 4 at <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>:5
> <doctest test.test_pdb.test_pdb_breakpoint_commands[0]>(5)test_function()
-> print(3)
(Pdb) break
(Pdb) continue
3
4
test.test_pdb.test_pdb_continue_in_bottomframe()[source]

Test that “continue” and “next” work properly in bottom frame (issue #5294).

>>> def test_function():
...     import pdb, sys; inst = pdb.Pdb(nosigint=True)
...     inst.set_trace()
...     inst.botframe = sys._getframe()  # hackery to get the right botframe
...     print(1)
...     print(2)
...     print(3)
...     print(4)
>>> with PdbTestInput([  
...     'next',
...     'break 7',
...     'continue',
...     'next',
...     'continue',
...     'continue',
... ]):
...    test_function()
> <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(4)test_function()
-> inst.botframe = sys._getframe()  # hackery to get the right botframe
(Pdb) next
> <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(5)test_function()
-> print(1)
(Pdb) break 7
Breakpoint ... at <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>:7
(Pdb) continue
1
2
> <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(7)test_function()
-> print(3)
(Pdb) next
3
> <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(8)test_function()
-> print(4)
(Pdb) continue
4
test.test_pdb.test_pdb_displayhook()[source]

This tests the custom displayhook for pdb.

>>> def test_function(foo, bar):
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     pass
>>> with PdbTestInput([
...     'foo',
...     'bar',
...     'for i in range(5): print(i)',
...     'continue',
... ]):
...     test_function(1, None)
> <doctest test.test_pdb.test_pdb_displayhook[0]>(3)test_function()
-> pass
(Pdb) foo
1
(Pdb) bar
(Pdb) for i in range(5): print(i)
0
1
2
3
4
(Pdb) continue
test.test_pdb.test_pdb_next_command_for_generator()[source]

Testing skip unwindng stack on yield for generators for “next” command

>>> def test_gen():
...     yield 0
...     return 1
...     yield 2
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     it = test_gen()
...     try:
...         assert next(it) == 0
...         next(it)
...     except StopIteration as ex:
...         assert ex.value == 1
...     print("finished")
>>> with PdbTestInput(['step',
...                    'step',
...                    'step',
...                    'next',
...                    'next',
...                    'step',
...                    'step',
...                    'continue']):
...     test_function()
> <doctest test.test_pdb.test_pdb_next_command_for_generator[1]>(3)test_function()
-> it = test_gen()
(Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_for_generator[1]>(4)test_function()
-> try:
(Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_for_generator[1]>(5)test_function()
-> assert next(it) == 0
(Pdb) step
--Call--
> <doctest test.test_pdb.test_pdb_next_command_for_generator[0]>(1)test_gen()
-> def test_gen():
(Pdb) next
> <doctest test.test_pdb.test_pdb_next_command_for_generator[0]>(2)test_gen()
-> yield 0
(Pdb) next
> <doctest test.test_pdb.test_pdb_next_command_for_generator[0]>(3)test_gen()
-> return 1
(Pdb) step
--Return--
> <doctest test.test_pdb.test_pdb_next_command_for_generator[0]>(3)test_gen()->1
-> return 1
(Pdb) step
StopIteration: 1
> <doctest test.test_pdb.test_pdb_next_command_for_generator[1]>(6)test_function()
-> next(it)
(Pdb) continue
finished
test.test_pdb.test_pdb_next_command_in_generator_for_loop()[source]

The next command on returning from a generator controled by a for loop.

>>> def test_gen():
...     yield 0
...     return 1
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     for i in test_gen():
...         print('value', i)
...     x = 123
>>> with PdbTestInput(['break test_gen',
...                    'continue',
...                    'next',
...                    'next',
...                    'next',
...                    'continue']):
...     test_function()
> <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[1]>(3)test_function()
-> for i in test_gen():
(Pdb) break test_gen
Breakpoint 6 at <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>:1
(Pdb) continue
> <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>(2)test_gen()
-> yield 0
(Pdb) next
value 0
> <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>(3)test_gen()
-> return 1
(Pdb) next
Internal StopIteration: 1
> <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[1]>(3)test_function()
-> for i in test_gen():
(Pdb) next
> <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[1]>(5)test_function()
-> x = 123
(Pdb) continue
test.test_pdb.test_pdb_next_command_subiterator()[source]

The next command in a generator with a subiterator.

>>> def test_subgenerator():
...     yield 0
...     return 1
>>> def test_gen():
...     x = yield from test_subgenerator()
...     return x
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     for i in test_gen():
...         print('value', i)
...     x = 123
>>> with PdbTestInput(['step',
...                    'step',
...                    'next',
...                    'next',
...                    'next',
...                    'continue']):
...     test_function()
> <doctest test.test_pdb.test_pdb_next_command_subiterator[2]>(3)test_function()
-> for i in test_gen():
(Pdb) step
--Call--
> <doctest test.test_pdb.test_pdb_next_command_subiterator[1]>(1)test_gen()
-> def test_gen():
(Pdb) step
> <doctest test.test_pdb.test_pdb_next_command_subiterator[1]>(2)test_gen()
-> x = yield from test_subgenerator()
(Pdb) next
value 0
> <doctest test.test_pdb.test_pdb_next_command_subiterator[1]>(3)test_gen()
-> return x
(Pdb) next
Internal StopIteration: 1
> <doctest test.test_pdb.test_pdb_next_command_subiterator[2]>(3)test_function()
-> for i in test_gen():
(Pdb) next
> <doctest test.test_pdb.test_pdb_next_command_subiterator[2]>(5)test_function()
-> x = 123
(Pdb) continue
test.test_pdb.test_pdb_return_command_for_generator()[source]
Testing no unwindng stack on yield for generators
for “return” command
>>> def test_gen():
...     yield 0
...     return 1
...     yield 2
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     it = test_gen()
...     try:
...         assert next(it) == 0
...         next(it)
...     except StopIteration as ex:
...         assert ex.value == 1
...     print("finished")
>>> with PdbTestInput(['step',
...                    'step',
...                    'step',
...                    'return',
...                    'step',
...                    'step',
...                    'continue']):
...     test_function()
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(3)test_function()
-> it = test_gen()
(Pdb) step
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(4)test_function()
-> try:
(Pdb) step
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(5)test_function()
-> assert next(it) == 0
(Pdb) step
--Call--
> <doctest test.test_pdb.test_pdb_return_command_for_generator[0]>(1)test_gen()
-> def test_gen():
(Pdb) return
StopIteration: 1
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(6)test_function()
-> next(it)
(Pdb) step
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(7)test_function()
-> except StopIteration as ex:
(Pdb) step
> <doctest test.test_pdb.test_pdb_return_command_for_generator[1]>(8)test_function()
-> assert ex.value == 1
(Pdb) continue
finished
test.test_pdb.test_pdb_run_with_code_object()[source]

Testing run and runeval with code object as a first argument.

>>> with PdbTestInput(['step','x', 'continue']):  
...     pdb_invoke('run', compile('x=1', '<string>', 'exec'))
> <string>(1)<module>()...
(Pdb) step
--Return--
> <string>(1)<module>()->None
(Pdb) x
1
(Pdb) continue
>>> with PdbTestInput(['x', 'continue']):
...     x=0
...     pdb_invoke('runeval', compile('x+1', '<string>', 'eval'))
> <string>(1)<module>()->None
(Pdb) x
1
(Pdb) continue
test.test_pdb.test_pdb_run_with_incorrect_argument()[source]

Testing run and runeval with incorrect first argument.

>>> pti = PdbTestInput(['continue',])
>>> with pti:
...     pdb_invoke('run', lambda x: x)
Traceback (most recent call last):
TypeError: exec() arg 1 must be a string, bytes or code object
>>> with pti:
...     pdb_invoke('runeval', lambda x: x)
Traceback (most recent call last):
TypeError: eval() arg 1 must be a string, bytes or code object
test.test_pdb.test_pdb_skip_modules()[source]

This illustrates the simple case of module skipping.

>>> def skip_module():
...     import string
...     import pdb; pdb.Pdb(skip=['stri*'], nosigint=True).set_trace()
...     string.capwords('FOO')
>>> with PdbTestInput([
...     'step',
...     'continue',
... ]):
...     skip_module()
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()
-> string.capwords('FOO')
(Pdb) step
--Return--
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()->None
-> string.capwords('FOO')
(Pdb) continue
test.test_pdb.test_pdb_skip_modules_with_callback()[source]

This illustrates skipping of modules that call into other code.

>>> def skip_module():
...     def callback():
...         return None
...     import pdb; pdb.Pdb(skip=['module_to_skip*'], nosigint=True).set_trace()
...     mod.foo_pony(callback)
>>> with PdbTestInput([
...     'step',
...     'step',
...     'step',
...     'step',
...     'step',
...     'continue',
... ]):
...     skip_module()
...     pass  # provides something to "step" to
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()
-> mod.foo_pony(callback)
(Pdb) step
--Call--
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(2)callback()
-> def callback():
(Pdb) step
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()
-> return None
(Pdb) step
--Return--
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()->None
-> return None
(Pdb) step
--Return--
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()->None
-> mod.foo_pony(callback)
(Pdb) step
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[1]>(10)<module>()
-> pass  # provides something to "step" to
(Pdb) continue
test.test_pdb.test_pdb_until_command_for_generator()[source]
Testing no unwindng stack on yield for generators
for “until” command if target breakpoing is not reached
>>> def test_gen():
...     yield 0
...     yield 1
...     yield 2
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     for i in test_gen():
...         print(i)
...     print("finished")
>>> with PdbTestInput(['step',
...                    'until 4',
...                    'step',
...                    'step',
...                    'continue']):
...     test_function()
> <doctest test.test_pdb.test_pdb_until_command_for_generator[1]>(3)test_function()
-> for i in test_gen():
(Pdb) step
--Call--
> <doctest test.test_pdb.test_pdb_until_command_for_generator[0]>(1)test_gen()
-> def test_gen():
(Pdb) until 4
0
1
> <doctest test.test_pdb.test_pdb_until_command_for_generator[0]>(4)test_gen()
-> yield 2
(Pdb) step
--Return--
> <doctest test.test_pdb.test_pdb_until_command_for_generator[0]>(4)test_gen()->2
-> yield 2
(Pdb) step
> <doctest test.test_pdb.test_pdb_until_command_for_generator[1]>(4)test_function()
-> print(i)
(Pdb) continue
2
finished
test.test_pdb.test_post_mortem()[source]

Test post mortem traceback debugging.

>>> def test_function_2():
...     try:
...         1/0
...     finally:
...         print('Exception!')
>>> def test_function():
...     import pdb; pdb.Pdb(nosigint=True).set_trace()
...     test_function_2()
...     print('Not reached.')
>>> with PdbTestInput([  
...     'next',      # step over exception-raising call
...     'bt',        # get a backtrace
...     'list',      # list code of test_function()
...     'down',      # step into test_function_2()
...     'list',      # list code of test_function_2()
...     'continue',
... ]):
...    try:
...        test_function()
...    except ZeroDivisionError:
...        print('Correctly reraised.')
> <doctest test.test_pdb.test_post_mortem[1]>(3)test_function()
-> test_function_2()
(Pdb) next
Exception!
ZeroDivisionError: division by zero
> <doctest test.test_pdb.test_post_mortem[1]>(3)test_function()
-> test_function_2()
(Pdb) bt
...
  <doctest test.test_pdb.test_post_mortem[2]>(10)<module>()
-> test_function()
> <doctest test.test_pdb.test_post_mortem[1]>(3)test_function()
-> test_function_2()
  <doctest test.test_pdb.test_post_mortem[0]>(3)test_function_2()
-> 1/0
(Pdb) list
  1         def test_function():
  2             import pdb; pdb.Pdb(nosigint=True).set_trace()
  3  ->         test_function_2()
  4             print('Not reached.')
[EOF]
(Pdb) down
> <doctest test.test_pdb.test_post_mortem[0]>(3)test_function_2()
-> 1/0
(Pdb) list
  1         def test_function_2():
  2             try:
  3  >>             1/0
  4             finally:
  5  ->             print('Exception!')
[EOF]
(Pdb) continue
Correctly reraised.

test.test_peepholer module

class test.test_peepholer.TestBuglets(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug_11510()[source]
class test.test_peepholer.TestTranforms(methodName='runTest')[source]

Bases: test.bytecode_helper.BytecodeTestCase

test_binary_subscr_on_unicode()[source]
test_constant_folding()[source]
test_elim_extra_return()[source]
test_elim_inversion_of_is_or_in()[source]
test_elim_jump_after_return1()[source]
test_elim_jump_after_return2()[source]
test_elim_jump_to_return()[source]
test_folding_of_binops_on_constants()[source]
test_folding_of_lists_of_constants()[source]
test_folding_of_sets_of_constants()[source]
test_folding_of_tuples_of_constants()[source]
test_folding_of_unaryops_on_constants()[source]
test_global_as_constant()[source]
test_make_function_doesnt_bail()[source]
test_pack_unpack()[source]
test_unot()[source]
test_while_one()[source]
test.test_peepholer.test_main(verbose=None)[source]

test.test_pep247 module

Test suite to check compilance with PEP 247, the standard API for hashing algorithms

class test.test_pep247.Pep247Test(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_module(module, key=None)[source]
check_object(cls, digest_size, key, digestmod=None)[source]
test_hmac()[source]
test_md5()[source]
test_sha()[source]
test.test_pep247.test_main()[source]

test.test_pep277 module

class test.test_pep277.UnicodeFileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

files = {'11_΅ϓϔ', '12_΅ϓϔ', '16_\u2000\u2000\u2000A', '8_曨曩曫', '3_Grüß-Gott', '14_ẛ῁῍῎῏῝῞῟῭', '4_Γειά-σας', '6_にぽん', '10_΅´', '15_΅´𣏕', '7_השקצץס', '5_Здравствуйте', '17_\u2001\u2001\u2001A', '2_ascii', '19_ A', '13_ ̈́ΎΫ', '1_abc', '9_曨שんдΓß', '18_\u2003\u2003\u2003A'}
norm(s)[source]
normal_form = None
setUp()[source]
test_directory()[source]
test_failures()[source]
test_listdir()[source]
test_normalize()[source]
test_open()[source]
test_rename()[source]
class test.test_pep277.UnicodeNFCFileTests(methodName='runTest')[source]

Bases: test.test_pep277.UnicodeFileTests

normal_form = 'NFC'
class test.test_pep277.UnicodeNFDFileTests(methodName='runTest')[source]

Bases: test.test_pep277.UnicodeFileTests

normal_form = 'NFD'
class test.test_pep277.UnicodeNFKCFileTests(methodName='runTest')[source]

Bases: test.test_pep277.UnicodeFileTests

normal_form = 'NFKC'
class test.test_pep277.UnicodeNFKDFileTests(methodName='runTest')[source]

Bases: test.test_pep277.UnicodeFileTests

normal_form = 'NFKD'
test.test_pep277.test_main()[source]

test.test_pep292 module

class test.test_pep292.Bag[source]

Bases: object

class test.test_pep292.Mapping[source]

Bases: object

class test.test_pep292.TestTemplate(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_SafeTemplate()[source]
test_braced_override()[source]
test_braced_override_safe()[source]
test_delimiter_override()[source]
test_escapes()[source]
test_idpattern_override()[source]
test_invalid_placeholders()[source]
test_invalid_with_no_lines()[source]
test_keyword_arguments()[source]
test_keyword_arguments_safe()[source]
test_pattern_override()[source]
test_percents()[source]
test_regular_templates()[source]
test_regular_templates_with_braces()[source]
test_stringification()[source]
test_tupleargs()[source]
test_unicode_values()[source]
test.test_pep292.test_main()[source]

test.test_pep3120 module

class test.test_pep3120.BuiltinCompileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_latin1()[source]
class test.test_pep3120.PEP3120Test(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_badsyntax()[source]
test_pep3120()[source]
test.test_pep3120.test_main()[source]

test.test_pep3131 module

class test.test_pep3131.PEP3131Test(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_invalid()[source]
test_non_bmp_normalized()[source]
test_valid()[source]
test.test_pep3131.test_main()[source]

test.test_pep3151 module

class test.test_pep3151.AttributesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_blockingioerror()[source]
test_errno_translation()[source]
test_posix_error()[source]
test_windows_error()[source]
class test.test_pep3151.ExplicitSubclassingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_errno_mapping()[source]
test_init_kwdargs()[source]
test_init_new_overriden()[source]
test_init_overriden()[source]
test_init_standalone()[source]
test_new_kwdargs()[source]
test_new_overriden()[source]
class test.test_pep3151.HierarchyTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtin_errors()[source]
test_errno_mapping()[source]
test_select_error()[source]
test_socket_errors()[source]
test_try_except()[source]
exception test.test_pep3151.SubOSError[source]

Bases: OSError

exception test.test_pep3151.SubOSErrorCombinedInitFirst(message, bar)[source]

Bases: test.test_pep3151.SubOSErrorWithInit, test.test_pep3151.SubOSErrorWithNew

exception test.test_pep3151.SubOSErrorCombinedNewFirst(message, bar)[source]

Bases: test.test_pep3151.SubOSErrorWithNew, test.test_pep3151.SubOSErrorWithInit

exception test.test_pep3151.SubOSErrorWithInit(message, bar)[source]

Bases: OSError

exception test.test_pep3151.SubOSErrorWithNew[source]

Bases: OSError

exception test.test_pep3151.SubOSErrorWithStandaloneInit[source]

Bases: OSError

test.test_pep3151.test_main()[source]

test.test_pep352 module

class test.test_pep352.ExceptionClassTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for anything relating to exception objects themselves (e.g., inheritance hierarchy)

interface_test_driver(results)[source]
interface_tests = ('length', 'args', 'str', 'repr')
test_builtins_new_style()[source]
test_inheritance()[source]
test_interface_multi_arg()[source]
test_interface_no_arg()[source]
test_interface_single_arg()[source]
verify_instance_interface(ins)[source]
class test.test_pep352.UsageTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test usage of exceptions

catch_fails(object_)[source]

Catching ‘object_‘ should raise a TypeError.

raise_fails(object_)[source]

Make sure that raising ‘object_‘ triggers a TypeError.

test_catch_BaseException_instance()[source]
test_catch_non_BaseException()[source]
test_catch_string()[source]
test_raise_new_style_non_exception()[source]
test_raise_string()[source]

test.test_pep380 module

Test suite for PEP 380 implementation

adapted from original tests written by Greg Ewing see <http://www.cosc.canterbury.ac.nz/greg.ewing/python/yield-from/YieldFrom-Python3.1.2-rev5.zip>

class test.test_pep380.TestPEP380Operation(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test semantics.

test_attempted_yield_from_loop()[source]

Test attempted yield-from loop

test_attempting_to_send_to_non_generator()[source]

Test attempting to send to non-generator

test_broken_getattr_handling()[source]

Test subiterator with a broken getattr implementation

test_catching_exception_from_subgen_and_returning()[source]

Test catching an exception thrown into a subgenerator and returning a value

test_close_with_cleared_frame()[source]
test_conversion_of_sendNone_to_next()[source]

Test conversion of send(None) to next()

test_custom_iterator_return()[source]
test_delegating_close()[source]

Test delegating ‘close’

test_delegating_generators_claim_to_be_running()[source]
test_delegating_throw()[source]

Test delegating ‘throw’

test_delegating_throw_to_non_generator()[source]

Test delegating ‘throw’ to non-generator

test_delegation_of_close_to_non_generator()[source]

Test delegation of close() to non-generator

test_delegation_of_initial_next_to_subgenerator()[source]

Test delegation of initial next() call to subgenerator

test_delegation_of_next_call_to_subgenerator()[source]

Test delegation of next() call to subgenerator

test_delegation_of_next_to_non_generator()[source]

Test delegation of next() to non-generator

test_delegation_of_send()[source]

Test delegation of send()

test_delegator_is_visible_to_debugger()[source]
test_exception_in_initial_next_call()[source]

Test exception in initial next() call

test_exception_value_crash()[source]
test_generator_return_value()[source]

Test generator return value

test_handing_exception_while_delegating_close()[source]

Test handling exception while delegating ‘close’

test_handling_exception_while_delegating_send()[source]

Test handling exception while delegating ‘send’

test_next_and_return_with_value()[source]

Test next and return with value

test_raising_exception_in_delegated_next_call()[source]

Test raising exception in delegated next() call

test_raising_exception_in_initial_next_call()[source]

Test raising exception in initial next() call

test_returning_value_from_delegated_throw()[source]

Test returning value from delegated ‘throw’

test_send_and_return_with_value()[source]

Test send and return with value

test_send_tuple_with_custom_generator()[source]
test_throwing_GeneratorExit_into_subgen_that_raises()[source]

Test throwing GeneratorExit into a subgenerator that catches it and raises a different exception.

test_throwing_GeneratorExit_into_subgen_that_returns()[source]

Test throwing GeneratorExit into a subgenerator that catches it and returns normally.

test_throwing_GeneratorExit_into_subgenerator_that_yields()[source]

Test throwing GeneratorExit into a subgenerator that catches it and yields.

test_value_attribute_of_StopIteration_exception()[source]

Test ‘value’ attribute of StopIteration exception

test_yield_from_empty()[source]
test.test_pep380.test_main()[source]

test.test_pickle module

class test.test_pickle.CChainDispatchTableTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractDispatchTableTests

get_dispatch_table()[source]
pickler_class

alias of Pickler

class test.test_pickle.CDispatchTableTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractDispatchTableTests

get_dispatch_table()[source]
pickler_class

alias of Pickler

class test.test_pickle.CDumpPickle_LoadPickle(methodName='runTest')[source]

Bases: test.test_pickle.PyPicklerTests

pickler

alias of Pickler

unpickler

alias of _Unpickler

class test.test_pickle.CPersPicklerTests(methodName='runTest')[source]

Bases: test.test_pickle.PyPersPicklerTests

pickler

alias of Pickler

unpickler

alias of Unpickler

class test.test_pickle.CPicklerTests(methodName='runTest')[source]

Bases: test.test_pickle.PyPicklerTests

pickler

alias of Pickler

unpickler

alias of Unpickler

class test.test_pickle.CPicklerUnpicklerObjectTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPicklerUnpicklerObjectTests

pickler_class

alias of Pickler

test_issue18339()[source]
unpickler_class

alias of Unpickler

class test.test_pickle.DumpPickle_CLoadPickle(methodName='runTest')[source]

Bases: test.test_pickle.PyPicklerTests

pickler

alias of _Pickler

unpickler

alias of Unpickler

class test.test_pickle.InMemoryPickleTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPickleTests, test.pickletester.BigmemPickleTests

dumps(arg, protocol=None)[source]
loads(buf, **kwds)[source]
pickler

alias of _Pickler

unpickler

alias of _Unpickler

class test.test_pickle.PickleTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPickleModuleTests

class test.test_pickle.PyChainDispatchTableTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractDispatchTableTests

get_dispatch_table()[source]
pickler_class

alias of _Pickler

class test.test_pickle.PyDispatchTableTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractDispatchTableTests

get_dispatch_table()[source]
pickler_class

alias of _Pickler

class test.test_pickle.PyPersPicklerTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPersistentPicklerTests

dumps(arg, proto=None)[source]
loads(buf, **kwds)[source]
pickler

alias of _Pickler

unpickler

alias of _Unpickler

class test.test_pickle.PyPicklerTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPickleTests

dumps(arg, proto=None)[source]
loads(buf, **kwds)[source]
pickler

alias of _Pickler

unpickler

alias of _Unpickler

class test.test_pickle.PyPicklerUnpicklerObjectTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPicklerUnpicklerObjectTests

pickler_class

alias of _Pickler

unpickler_class

alias of _Unpickler

test.test_pickle.test_main()[source]

test.test_pickletools module

class test.test_pickletools.OptimizedPickleTests(methodName='runTest')[source]

Bases: test.pickletester.AbstractPickleTests, test.pickletester.AbstractPickleModuleTests

dumps(arg, proto=None)[source]
loads(buf, **kwds)[source]
test_pickle_to_2x = None
test.test_pickletools.test_main()[source]

test.test_pipes module

test.test_pkg module

class test.test_pkg.TestPkg(methodName='runTest')[source]

Bases: unittest.case.TestCase

mkhier(descr)[source]
run_code(code)[source]
setUp()[source]
tearDown()[source]
test_1()[source]
test_2()[source]
test_3()[source]
test_4()[source]
test_5()[source]
test_6()[source]
test_7()[source]
test_8()[source]
test.test_pkg.cleanout(root)[source]
test.test_pkg.fixdir(lst)[source]
test.test_pkg.test_main()[source]

test.test_pkgimport module

class test.test_pkgimport.TestImport(*args, **kw)[source]

Bases: unittest.case.TestCase

remove_modules()[source]
rewrite_file(contents)[source]
setUp()[source]
tearDown()[source]
test_package_import__semantics()[source]
test.test_pkgimport.test_main()[source]

test.test_pkgutil module

class test.test_pkgutil.ExtendPathTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

create_init(pkgname)[source]
create_submodule(dirname, pkgname, submodule_name, value)[source]
test_iter_importers()[source]
test_mixed_namespace()[source]
test_simple()[source]
class test.test_pkgutil.ImportlibMigrationTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_deprecated()[source]
test_find_loader_avoids_emulation()[source]
test_find_loader_missing_module()[source]
test_get_importer_avoids_emulation()[source]
test_get_loader_None_in_sys_modules()[source]
test_get_loader_avoids_emulation()[source]
test_get_loader_handles_missing_loader_attribute()[source]
test_get_loader_handles_missing_spec_attribute()[source]
test_get_loader_handles_spec_attribute_none()[source]
test_importer_deprecated()[source]
test_iter_importers_avoids_emulation()[source]
test_loader_deprecated()[source]
class test.test_pkgutil.NestedNamespacePackageTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

create_module(name, contents)[source]
setUp()[source]
tearDown()[source]
test_nested()[source]
class test.test_pkgutil.PkgutilPEP302Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

class MyTestImporter[source]

Bases: object

find_spec(fullname, path=None, target=None)[source]
class PkgutilPEP302Tests.MyTestLoader[source]

Bases: object

exec_module(mod)[source]
get_data(path)[source]
PkgutilPEP302Tests.setUp()[source]
PkgutilPEP302Tests.tearDown()[source]
PkgutilPEP302Tests.test_alreadyloaded()[source]
PkgutilPEP302Tests.test_getdata_pep302()[source]
class test.test_pkgutil.PkgutilTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_getdata_filesys()[source]
test_getdata_zipfile()[source]
test_unreadable_dir_on_syspath()[source]
test.test_pkgutil.test_main()[source]

test.test_platform module

class test.test_platform.PlatformTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_architecture()[source]
test_dist()[source]
test_java_ver()[source]
test_libc_ver()[source]
test_linux_distribution_encoding()[source]
test_mac_ver()[source]
test_mac_ver_with_fork()[source]
test_machine()[source]
test_node()[source]
test_parse_release_file()[source]
test_platform()[source]
test_popen()[source]
test_processor()[source]
test_release()[source]
test_sys_version()[source]
test_system()[source]
test_system_alias()[source]
test_uname()[source]
test_uname_win32_ARCHITEW6432()[source]
test_version()[source]
test_win32_ver()[source]
test.test_platform.test_main()[source]

test.test_plistlib module

class test.test_plistlib.TestPlistlib(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
test_appleformatting()[source]
test_appleformattingfromliteral()[source]
test_bytes()[source]
test_bytesio()[source]
test_controlcharacters()[source]
test_create()[source]
test_dict_members()[source]
test_indentation_array()[source]
test_indentation_dict()[source]
test_indentation_dict_mix()[source]
test_int()[source]
test_invalid_type()[source]
test_invalidarray()[source]
test_invaliddict()[source]
test_invalidinteger()[source]
test_invalidreal()[source]
test_io()[source]
test_keys_no_string()[source]
test_keysort()[source]
test_keysort_bytesio()[source]
test_list_members()[source]
test_nondictroot()[source]
test_nonstandard_refs_size()[source]
test_skipkeys()[source]
test_tuple_members()[source]
test_xml_encodings()[source]
class test.test_plistlib.TestPlistlibDeprecated(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bytes_deprecated()[source]
test_dataobject_deprecated()[source]
test_io_deprecated()[source]
test.test_plistlib.test_main()[source]

test.test_poll module

test.test_popen module

Basic tests for os.popen()

Particularly useful for platforms that fake popen.

class test.test_popen.PopenTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_contextmanager()[source]
test_iterating()[source]
test_popen()[source]
test_return_code()[source]
test.test_popen.test_main()[source]

test.test_poplib module

Test script for poplib module.

class test.test_poplib.DummyPOP3Handler(conn)[source]

Bases: asynchat.async_chat

CAPAS = {'UIDL': [], 'IMPLEMENTATION': ['python-testlib-pop-server']}
cmd_apop(arg)[source]
cmd_capa(arg)[source]
cmd_dele(arg)[source]
cmd_echo(arg)[source]
cmd_list(arg)[source]
cmd_noop(arg)[source]
cmd_pass(arg)[source]
cmd_quit(arg)[source]
cmd_retr(arg)[source]
cmd_rpop(arg)[source]
cmd_stat(arg)[source]
cmd_stls(arg)[source]
cmd_top(arg)
cmd_uidl(arg)
cmd_user(arg)[source]
collect_incoming_data(data)[source]
found_terminator()[source]
handle_error()[source]
handle_read()[source]
push(data)[source]
class test.test_poplib.DummyPOP3Server(address, af=<AddressFamily.AF_INET: 2>)[source]

Bases: asyncore.dispatcher, threading.Thread

handle_accepted(conn, addr)[source]
handle_connect()[source]
handle_error()[source]
handle_read()
handler

alias of DummyPOP3Handler

run()[source]
start()[source]
stop()[source]
writable()[source]
class test.test_poplib.DummyPOP3_SSLHandler(conn)[source]

Bases: test.test_poplib.DummyPOP3Handler

class test.test_poplib.TestPOP3Class(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertOK(resp)[source]
setUp()[source]
tearDown()[source]
test_apop()[source]
test_capa()[source]
test_dele()[source]
test_exceptions()[source]
test_getwelcome()[source]
test_list()[source]
test_noop()[source]
test_pass_()[source]
test_quit()[source]
test_retr()[source]
test_rpop()[source]
test_stat()[source]
test_stls()[source]
test_stls_capa()[source]
test_stls_context()[source]
test_too_long_lines()[source]
test_top()[source]
test_uidl()[source]
test_user()[source]
class test.test_poplib.TestPOP3_SSLClass(methodName='runTest')[source]

Bases: test.test_poplib.TestPOP3Class

setUp()[source]
test__all__()[source]
test_context()[source]
test_stls()[source]
test_stls_capa()[source]
test_stls_context()
class test.test_poplib.TestPOP3_TLSClass(methodName='runTest')[source]

Bases: test.test_poplib.TestPOP3Class

setUp()[source]
tearDown()[source]
test_stls()[source]
test_stls_capa()[source]
test_stls_context()
class test.test_poplib.TestTimeouts(methodName='runTest')[source]

Bases: unittest.case.TestCase

server(evt, serv)[source]
setUp()[source]
tearDown()[source]
testTimeoutDefault()[source]
testTimeoutNone()[source]
testTimeoutValue()[source]
test.test_poplib.test_main()[source]

test.test_posix module

test.test_posixpath module

class test.test_posixpath.PosixCommonTest(methodName='runTest')[source]

Bases: test.test_genericpath.CommonTest, unittest.case.TestCase

attributes = ['relpath', 'samefile', 'sameopenfile', 'samestat']
pathmodule = <module 'posixpath' from 'C:\\Python34\\lib\\posixpath.py'>
class test.test_posixpath.PosixPathTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
splitextTest(path, filename, ext)[source]
tearDown()[source]
test_basename()[source]
test_dirname()[source]
test_expanduser()[source]
test_isabs()[source]
test_ismount()[source]
test_ismount_different_device()[source]
test_ismount_non_existent()[source]
test_join()[source]
test_join_errors()[source]
test_normpath()[source]
test_realpath_basic()[source]
test_realpath_curdir()[source]
test_realpath_deep_recursion()[source]
test_realpath_pardir()[source]
test_realpath_relative()[source]
test_realpath_resolve_before_normalizing()[source]
test_realpath_resolve_first()[source]
test_realpath_resolve_parents()[source]
test_relpath()[source]
test_relpath_bytes()[source]
test_split()[source]
test_splitext()[source]
test.test_posixpath.safe_rmdir(dirname)[source]
test.test_posixpath.skip_if_ABSTFN_contains_backslash(test)[source]

On Windows, posixpath.abspath still returns paths with backslashes instead of posix forward slashes. If this is the case, several tests fail, so skip them.

test.test_pow module

class test.test_pow.PowTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

powtest(type)[source]
test_bug643260()[source]
test_bug705231()[source]
test_other()[source]
test_powfloat()[source]
test_powint()[source]
test_powlong()[source]
test.test_pow.test_main()[source]

test.test_pprint module

class test.test_pprint.DottedPrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False)[source]

Bases: pprint.PrettyPrinter

format(object, context, maxlevels, level)[source]
class test.test_pprint.QueryTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_basic()[source]
test_basic_line_wrap()[source]
test_compact()[source]
test_depth()[source]
test_knotted()[source]
test_nested_indentations()[source]
test_ordered_dict()[source]
test_same_as_repr()[source]
test_set_of_sets_reprs()[source]
test_set_reprs()[source]
test_sort_unorderable_values()[source]
test_sorted_dict()[source]
test_str_wrap()[source]
test_subclassing()[source]
test_unreadable()[source]
class test.test_pprint.Unorderable[source]

Bases: object

class test.test_pprint.dict2[source]

Bases: dict

class test.test_pprint.dict3[source]

Bases: dict

class test.test_pprint.frozenset2[source]

Bases: frozenset

class test.test_pprint.frozenset3[source]

Bases: frozenset

class test.test_pprint.list2[source]

Bases: list

class test.test_pprint.list3[source]

Bases: list

class test.test_pprint.set2[source]

Bases: set

class test.test_pprint.set3[source]

Bases: set

test.test_pprint.test_main()[source]
class test.test_pprint.tuple2[source]

Bases: tuple

class test.test_pprint.tuple3[source]

Bases: tuple

test.test_print module

class test.test_print.ClassWith__str__(x)[source]

Bases: object

class test.test_print.TestPrint(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test correct operation of the print function.

check(expected, args, sep=<object object at 0x26BF3718>, end=<object object at 0x26BF3718>, file=<object object at 0x26BF3718>)[source]
test_print()[source]
test_print_flush()[source]

test.test_profile module

Test suite for the profile module.

class test.test_profile.ProfileTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

classmethod do_profiling()[source]
expected_max_output = ':0(max)'
get_expected_output()[source]
methodnames = ['print_stats', 'print_callers', 'print_callees']
profilerclass

alias of Profile

profilermodule = <module 'profile' from 'C:\\Python34\\lib\\profile.py'>
tearDown()[source]
test_calling_conventions()[source]
test_cprofile()[source]
test_run()[source]
test_runctx()[source]
test.test_profile.main()[source]
test.test_profile.regenerate_expected_output(filename, cls)[source]
test.test_profile.silent()[source]
test.test_profile.test_main()[source]

test.test_property module

class test.test_property.BaseClass[source]

Bases: object

spam

BaseClass.getter

exception test.test_property.PropertyBase[source]

Bases: Exception

exception test.test_property.PropertyDel[source]

Bases: test.test_property.PropertyBase

class test.test_property.PropertyDocBase[source]

Bases: object

spam

spam spam spam

class test.test_property.PropertyDocSub[source]

Bases: test.test_property.PropertyDocBase

spam

spam spam spam

exception test.test_property.PropertyGet[source]

Bases: test.test_property.PropertyBase

class test.test_property.PropertyNewGetter[source]

Bases: object

spam

new docstring

exception test.test_property.PropertySet[source]

Bases: test.test_property.PropertyBase

class test.test_property.PropertySub[source]

Bases: property

This is a subclass of property

class test.test_property.PropertySubNewGetter[source]

Bases: test.test_property.BaseClass

spam

new docstring

class test.test_property.PropertySubSlots[source]

Bases: property

This is a subclass of property that defines __slots__

class test.test_property.PropertySubclassTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_docstring_copy()[source]
test_property_new_getter_new_docstring()[source]
test_property_setter_copies_getter_docstring()[source]
test_slots_docstring_copy_exception()[source]
class test.test_property.PropertyTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_property___isabstractmethod__descriptor()[source]
test_property_decorator_baseclass()[source]
test_property_decorator_baseclass_doc()[source]
test_property_decorator_doc()[source]
test_property_decorator_subclass()[source]
test_property_decorator_subclass_doc()[source]
test_property_getter_doc_override()[source]
class test.test_property.SubClass[source]

Bases: test.test_property.BaseClass

spam

SubClass.getter

test.test_property.test_main()[source]

test.test_pstats module

class test.test_pstats.AddCallersTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for pstats.add_callers helper.

test_combine_results()[source]
class test.test_pstats.StatsTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_add()[source]
test.test_pstats.test_main()[source]

test.test_pty module

test.test_pulldom module

class test.test_pulldom.PullDOMTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_comment()[source]

PullDOM does not receive “comment” events.

test_end_document()[source]

PullDOM does not receive “end-document” events.

test_expandItem()[source]

Ensure expandItem works as expected.

test_parse()[source]

Minimal test of DOMEventStream.parse()

test_parse_semantics()[source]

Test DOMEventStream parsing semantics.

class test.test_pulldom.SAX2DOMExerciser[source]

Bases: test.test_pulldom.SAXExerciser

The same as SAXExerciser, but without the processing instruction and comment before the root element, because S2D can”t handle it

parse(_)[source]
class test.test_pulldom.SAX2DOMTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

confirm(test, testname='Test')[source]
testSAX2DOM()[source]

Ensure SAX2DOM expands nodes as expected.

test_basic()[source]

Ensure SAX2DOM can parse from a stream.

class test.test_pulldom.SAX2DOMTestHelper(stream, parser, bufsize)[source]

Bases: xml.dom.pulldom.DOMEventStream

Allows us to drive SAX2DOM from a DOMEventStream.

reset()[source]
class test.test_pulldom.SAXExerciser[source]

Bases: object

A fake sax parser that calls some of the harder-to-reach sax methods to ensure it emits the correct events

parse(_)[source]
setContentHandler(handler)[source]
setFeature(*args, **kwargs)

Stub method. Does nothing.

setProperty(*args, **kwargs)

Stub method. Does nothing.

stub(*args, **kwargs)[source]

Stub method. Does nothing.

class test.test_pulldom.ThoroughTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the hard-to-reach parts of pulldom.

test_sax2dom_fail()[source]

SAX2DOM can”t handle a PI before the root element.

test_thorough_parse()[source]

Test some of the hard-to-reach parts of PullDOM.

test_thorough_sax2dom()[source]

Test some of the hard-to-reach parts of SAX2DOM.

test.test_pulldom.test_main()[source]

test.test_pwd module

test.test_py_compile module

class test.test_py_compile.PyCompileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_absolute_path()[source]
test_bad_coding()[source]
test_cache_path()[source]
test_cwd()[source]
test_do_not_overwrite_nonregular_files()[source]
test_exceptions_propagate()[source]
test_relative_path()[source]

test.test_pyclbr module

Test cases for pyclbr.py Nick Mathewson

class test.test_pyclbr.PyclbrTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertEqualsOrIgnored(a, b, ignore)[source]

succeed iff a == b or a in ignore or b in ignore

assertHasattr(obj, attr, ignore)[source]

succeed iff hasattr(obj,attr) or attr in ignore.

assertHaskey(obj, key, ignore)[source]

succeed iff key in obj or key in ignore.

assertListEq(l1, l2, ignore)[source]

succeed iff {l1} - {ignore} == {l2} - {ignore}

checkModule(moduleName, module=None, ignore=())[source]

succeed iff pyclbr.readmodule_ex(modulename) corresponds to the actual module object, module. Any identifiers in ignore are ignored. If no module is provided, the appropriate module is loaded with __import__.

test_decorators()[source]
test_easy()[source]
test_issue_14798()[source]
test_others()[source]
test.test_pyclbr.test_main()[source]

test.test_pydoc module

class test.test_pydoc.PydocBaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

restrict_walk_packages(path=None)[source]
class test.test_pydoc.PydocDocTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_allmethods()[source]
test_getpager_with_stdin_none()[source]
test_help_output_redirect()[source]
test_html_doc()[source]
test_input_strip()[source]
test_is_object_or_method()[source]
test_is_package_when_is_package()[source]
test_is_package_when_not_package()[source]
test_issue8225()[source]
test_namedtuple_public_underscore()[source]
test_non_str_name()[source]
test_not_here()[source]
test_splitdoc_with_description()[source]
test_stripid()[source]
test_synopsis()[source]
test_synopsis_sourceless()[source]
test_text_doc()[source]
test_text_enum_member_with_value_zero()[source]
class test.test_pydoc.PydocImportTest(methodName='runTest')[source]

Bases: test.test_pydoc.PydocBaseTest

setUp()[source]
test_apropos_with_bad_package()[source]
test_apropos_with_unreadable_dir()[source]
test_badimport()[source]
test_importfile()[source]
test_modules()[source]
test_modules_search_builtin()[source]
class test.test_pydoc.PydocServerTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for pydoc._start_server

test_server()[source]
class test.test_pydoc.PydocUrlHandlerTest(methodName='runTest')[source]

Bases: test.test_pydoc.PydocBaseTest

Tests for pydoc._url_handler

test_content_type_err()[source]
test_url_requests()[source]
class test.test_pydoc.PydocWithMetaClasses(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_DynamicClassAttribute()[source]
test_buggy_dir()[source]
test_virtualClassAttributeWithOneMeta()[source]
test_virtualClassAttributeWithTwoMeta()[source]
class test.test_pydoc.TestDescriptions(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bound_builtin_method()[source]
test_bound_python_method()[source]
test_builtin()[source]
test_class()[source]
test_module()[source]
test_module_level_callable()[source]
test_unbound_builtin_method()[source]
test_unbound_python_method()[source]
class test.test_pydoc.TestHelper(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_keywords()[source]
test.test_pydoc.get_html_title(text)[source]
test.test_pydoc.get_pydoc_html(module)[source]

Returns pydoc generated output as html

test.test_pydoc.get_pydoc_text(module)[source]

Returns pydoc generated output as text

test.test_pydoc.print_diffs(text1, text2)[source]

Prints unified diffs for two texts

test.test_pydoc.run_pydoc(module_name, *args, **env)[source]

Runs pydoc on the specified module. Returns the stripped output of pydoc.

test.test_pydoc.test_main()[source]

test.test_pyexpat module

class test.test_pyexpat.BufferTextTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

CharacterDataHandler(text)[source]
CommentHandler(data)[source]
EndElementHandler(name)[source]
StartElementHandler(name, attrs)[source]
check(expected, label)[source]
setHandlers(handlers=[])[source]
setUp()[source]
test1()[source]
test2()[source]
test3()[source]
test4()[source]
test5()[source]
test6()[source]
test7()[source]
test_buffering_enabled()[source]
test_default_to_disabled()[source]
class test.test_pyexpat.ChardataBufferTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test setting of chardata buffer size

counting_handler(text)[source]
small_buffer_test(buffer_len)[source]
test_1000_bytes()[source]
test_1025_bytes()[source]
test_change_size_1()[source]
test_change_size_2()[source]
test_disabling_buffer()[source]
test_unchanged_size()[source]
test_wrong_size()[source]
class test.test_pyexpat.ErrorMessageTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_codes()[source]
test_expaterror()[source]
class test.test_pyexpat.ForeignDTDTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for the UseForeignDTD method of expat parser objects.

test_ignore_use_foreign_dtd()[source]

If UseForeignDTD is passed True and a document with an external entity reference is parsed, ExternalEntityRefHandler is called with the public and system ids from the document.

test_use_foreign_dtd()[source]

If UseForeignDTD is passed True and a document without an external entity reference is parsed, ExternalEntityRefHandler is first called with None for the public and system ids.

class test.test_pyexpat.HandlerExceptionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

StartElementHandler(name, attrs)[source]
test()[source]
class test.test_pyexpat.InterningTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test()[source]
test_issue9402()[source]
class test.test_pyexpat.MalformedInputTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test1()[source]
test2()[source]
class test.test_pyexpat.NamespaceSeparatorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_illegal()[source]
test_zero_length()[source]
class test.test_pyexpat.ParseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

class Outputter[source]

Bases: object

AttlistDeclHandler(*args)[source]
CharacterDataHandler(data)[source]
CommentHandler(text)[source]
DefaultHandler(userData)[source]
DefaultHandlerExpand(userData)[source]
ElementDeclHandler(*args)[source]
EndCdataSectionHandler()[source]
EndDoctypeDeclHandler()[source]
EndElementHandler(name)[source]
EndNamespaceDeclHandler(prefix)[source]
EntityDeclHandler(*args)[source]
ExternalEntityRefHandler(*args)[source]
NotStandaloneHandler()[source]
NotationDeclHandler(*args)[source]
ProcessingInstructionHandler(target, data)[source]
SkippedEntityHandler(*args)[source]
StartCdataSectionHandler()[source]
StartDoctypeDeclHandler(*args)[source]
StartElementHandler(name, attrs)[source]
StartNamespaceDeclHandler(prefix, uri)[source]
UnparsedEntityDeclHandler(*args)[source]
XmlDeclHandler(*args)[source]
ParseTest.handler_names = ['StartElementHandler', 'EndElementHandler', 'CharacterDataHandler', 'ProcessingInstructionHandler', 'UnparsedEntityDeclHandler', 'NotationDeclHandler', 'StartNamespaceDeclHandler', 'EndNamespaceDeclHandler', 'CommentHandler', 'StartCdataSectionHandler', 'EndCdataSectionHandler', 'DefaultHandler', 'DefaultHandlerExpand', 'NotStandaloneHandler', 'ExternalEntityRefHandler', 'StartDoctypeDeclHandler', 'EndDoctypeDeclHandler', 'EntityDeclHandler', 'XmlDeclHandler', 'ElementDeclHandler', 'AttlistDeclHandler', 'SkippedEntityHandler']
ParseTest.test_parse_again()[source]
ParseTest.test_parse_bytes()[source]
ParseTest.test_parse_file()[source]
ParseTest.test_parse_str()[source]
class test.test_pyexpat.PositionTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

EndElementHandler(name)[source]
StartElementHandler(name, attrs)[source]
check_pos(event)[source]
test()[source]
class test.test_pyexpat.SetAttributeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_ordered_attributes()[source]
test_specified_attributes()[source]
class test.test_pyexpat.sf1296433Test(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_parse_only_xml_data()[source]
test.test_pyexpat.test_main()[source]

test.test_queue module

class test.test_queue.BaseQueueTestMixin[source]

Bases: test.test_queue.BlockingTestMixin

queue_join_test(q)[source]
setUp()[source]
simple_queue_test(q)[source]
test_negative_timeout_raises_exception()[source]
test_nowait()[source]
test_queue_join()[source]
test_queue_task_done()[source]
test_shrinking_queue()[source]
test_simple_queue()[source]
worker(q)[source]
class test.test_queue.BlockingTestMixin[source]

Bases: object

do_blocking_test(block_func, block_args, trigger_func, trigger_args)[source]
do_exceptional_blocking_test(block_func, block_args, trigger_func, trigger_args, expected_exception_class)[source]
tearDown()[source]
class test.test_queue.FailingQueue(*args)[source]

Bases: queue.Queue

exception test.test_queue.FailingQueueException[source]

Bases: Exception

class test.test_queue.FailingQueueTest(methodName='runTest')[source]

Bases: test.test_queue.BlockingTestMixin, unittest.case.TestCase

failing_queue_test(q)[source]
test_failing_queue()[source]
class test.test_queue.LifoQueueTest(methodName='runTest')[source]

Bases: test.test_queue.BaseQueueTestMixin, unittest.case.TestCase

type2test

alias of LifoQueue

class test.test_queue.PriorityQueueTest(methodName='runTest')[source]

Bases: test.test_queue.BaseQueueTestMixin, unittest.case.TestCase

type2test

alias of PriorityQueue

class test.test_queue.QueueTest(methodName='runTest')[source]

Bases: test.test_queue.BaseQueueTestMixin, unittest.case.TestCase

type2test

alias of Queue

test.test_queue.qfull(q)[source]
test.test_queue.test_main()[source]

test.test_quopri module

class test.test_quopri.QuopriTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

ESTRINGS = ((b'hello world', b'hello=20world'), (b'hello\tworld', b'hello=09world'))
HSTRINGS = ((b'hello world', b'hello_world'), (b'hello_world', b'hello=5Fworld'))
STRINGS = ((b'hello', b'hello'), (b'hello\n there\n world', b'hello\n there\n world'), (b'hello\n there\n world\n', b'hello\n there\n world\n'), (b'\x81\x82\x83', b'=81=82=83'), (b'hello ', b'hello=20'), (b'hello\t', b'hello=09'), (b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\xd8\xd9\xda\xdb\xdc\xdd\xde\xdfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=D8=D9=DA=DB=DC=DD=DE=DFx=\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'), (b'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', b'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'), (b'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz', b'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=\nzz'), (b'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz', b'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=\nzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'), (b'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\nzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz', b'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=\nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\nzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'), (b"Here's a bunch of special \n\n\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\n\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\n\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\n\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\n\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\n\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\n\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\n\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\n\xe8\xe9\xea\xeb\xec\xed\xee\xef\n\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\n\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff\n\ncharacters... have fun!\n", b"Here's a bunch of special=20\n\n=A1=A2=A3=A4=A5=A6=A7=A8=A9\n=AA=AB=AC=AD=AE=AF=B0=B1=B2=B3\n=B4=B5=B6=B7=B8=B9=BA=BB=BC=BD=BE\n=BF=C0=C1=C2=C3=C4=C5=C6\n=C7=C8=C9=CA=CB=CC=CD=CE=CF\n=D0=D1=D2=D3=D4=D5=D6=D7\n=D8=D9=DA=DB=DC=DD=DE=DF\n=E0=E1=E2=E3=E4=E5=E6=E7\n=E8=E9=EA=EB=EC=ED=EE=EF\n=F0=F1=F2=F3=F4=F5=F6=F7\n=F8=F9=FA=FB=FC=FD=FE=FF\n\ncharacters... have fun!\n"))
test_decode()[source]
test_decode_header()[source]
test_decodestring()[source]
test_embedded_ws()[source]
test_encode()[source]
test_encode_header()[source]
test_encodestring()[source]
test_idempotent_string()[source]
test_scriptdecode()[source]
test_scriptencode()[source]
test.test_quopri.test_main()[source]
test.test_quopri.withpythonimplementation(testfunc)[source]

test.test_raise module

Tests for the raise statement.

class test.test_raise.Context[source]

Bases: object

class test.test_raise.TestCause(methodName='runTest')[source]

Bases: unittest.case.TestCase

testCauseSyntax()[source]
test_class_cause()[source]
test_erroneous_cause()[source]
test_instance_cause()[source]
test_invalid_cause()[source]
class test.test_raise.TestContext(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_3118()[source]
test_3611()[source]
test_c_exception_context()[source]
test_c_exception_raise()[source]
test_class_context_class_raise()[source]
test_class_context_instance_raise()[source]
test_context_manager()[source]
test_cycle_broken()[source]
test_instance_context_instance_raise()[source]
test_noraise_finally()[source]
test_raise_finally()[source]
test_reraise_cycle_broken()[source]
class test.test_raise.TestRaise(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_assert_with_tuple_arg()[source]
test_erroneous_exception()[source]
test_except_reraise()[source]
test_finally_reraise()[source]
test_invalid_reraise()[source]
test_nested_reraise()[source]
test_new_returns_invalid_instance()[source]
test_raise_from_None()[source]
test_reraise()[source]
test_with_reraise1()[source]
test_with_reraise2()[source]
test_yield_reraise()[source]
class test.test_raise.TestRemovedFunctionality(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_strings()[source]
test_tuples()[source]
class test.test_raise.TestTraceback(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_accepts_traceback()[source]
test_sets_traceback()[source]
test.test_raise.get_tb()[source]
test.test_raise.test_main()[source]

test.test_random module

class test.test_random.MersenneTwister_TestBasicOps(methodName='runTest')[source]

Bases: test.test_random.TestBasicOps, unittest.case.TestCase

gen = <random.Random object at 0x05D1D990>
test_53_bits_per_float()[source]
test_bigrand()[source]
test_bigrand_ranges()[source]
test_genrandbits()[source]
test_guaranteed_stable()[source]
test_long_seed()[source]
test_randbelow_logic(_log=<built-in function log>, int=<class 'int'>)[source]
test_randbelow_overriden_random(random_mock)[source]
test_randrange_bug_1590891()[source]
test_rangelimits()[source]
test_referenceImplementation()[source]
test_setstate_first_arg()[source]
test_setstate_middle_arg()[source]
test_strong_reference_implementation()[source]
class test.test_random.SystemRandom_TestBasicOps(methodName='runTest')[source]

Bases: test.test_random.TestBasicOps, unittest.case.TestCase

gen = <random.SystemRandom object at 0x05D1CF88>
test_53_bits_per_float()[source]
test_autoseed()[source]
test_bigrand()[source]
test_bigrand_ranges()[source]
test_gauss()[source]
test_genrandbits()[source]
test_pickling()[source]
test_randbelow_logic(_log=<built-in function log>, int=<class 'int'>)[source]
test_randrange_errors()[source]
test_randrange_nonunit_step()[source]
test_rangelimits()[source]
test_saverestore()[source]
test_seedargs()[source]
class test.test_random.TestBasicOps[source]

Bases: object

randomlist(n)[source]

Helper function to make a list of random numbers

test_autoseed()[source]
test_bug_1727780()[source]
test_bug_9025()[source]
test_choice()[source]
test_gauss()[source]
test_pickling()[source]
test_sample()[source]
test_sample_distribution()[source]
test_sample_inputs()[source]
test_sample_on_dicts()[source]
test_saverestore()[source]
test_seed_when_randomness_source_not_found(urandom_mock)[source]
test_seedargs()[source]
test_shuffle()[source]
class test.test_random.TestDistributions(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_avg_std()[source]
test_betavariate_return_zero(gammavariate_mock)[source]
test_constant()[source]
test_gammavariate_errors()[source]
test_gammavariate_full_code_coverage(random_mock)[source]
test_von_mises_large_kappa()[source]
test_von_mises_range()[source]
test_zeroinputs()[source]
class test.test_random.TestModule(methodName='runTest')[source]

Bases: unittest.case.TestCase

testMagicConstants()[source]
test__all__()[source]
test_random_subclass_with_kwargs()[source]
test.test_random.gamma(z, sqrt2pi=2.5066282746310002)[source]

test.test_range module

class test.test_range.RangeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assert_attrs(rangeobj, start, stop, step)[source]
assert_iterators_equal(xs, ys, test_id, limit=None)[source]
test_attributes()[source]
test_comparison()[source]
test_contains()[source]
test_count()[source]
test_empty()[source]
test_exhausted_iterator_pickling()[source]
test_index()[source]
test_invalid_invocation()[source]
test_issue11845()[source]
test_iterator_pickling()[source]
test_large_exhausted_iterator_pickling()[source]
test_large_operands()[source]
test_large_range()[source]
test_odd_bug()[source]
test_pickling()[source]
test_range()[source]
test_range_iterators()[source]
test_repr()[source]
test_reverse_iteration()[source]
test_slice()[source]
test_strided_limits()[source]
test_types()[source]
test_user_index_method()[source]
test.test_range.pyrange(start, stop, step)[source]
test.test_range.pyrange_reversed(start, stop, step)[source]
test.test_range.test_main()[source]

test.test_re module

class test.test_re.B[source]

Bases: bytes

class test.test_re.ImplementationTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test implementation details of the re module.

test_overlap_table()[source]
class test.test_re.PatternReprTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check(pattern, expected)[source]
check_flags(pattern, flags, expected)[source]
test_bytes()[source]
test_inline_flags()[source]
test_long_pattern()[source]
test_multiple_flags()[source]
test_quotes()[source]
test_single_flag()[source]
test_unicode_flag()[source]
test_unknown_flags()[source]
test_without_flags()[source]
class test.test_re.ReTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertMatch(pattern, text, match=None, span=None, matcher=<function match at 0x01779B28>)[source]
assertTypedEqual(actual, expect, msg=None)[source]
bump_num(matchobj)[source]
test_anyall()[source]
test_ascii_and_unicode_flag()[source]
test_backref_group_name_in_exception()[source]
test_basic_re_sub()[source]
test_big_codesize()[source]
test_bigcharset()[source]
test_bug_113254()[source]
test_bug_114660()[source]
test_bug_117612()[source]
test_bug_13899()[source]
test_bug_1661()[source]
test_bug_16688()[source]
test_bug_20998()[source]
test_bug_2537()[source]
test_bug_3629()[source]
test_bug_418626()[source]
test_bug_448951()[source]
test_bug_449000()[source]
test_bug_449964()[source]
test_bug_462270()[source]
test_bug_527371()[source]
test_bug_545855()[source]
test_bug_581080()[source]
test_bug_612074()[source]
test_bug_6509()[source]
test_bug_6561()[source]
test_bug_725106()[source]
test_bug_725149()[source]
test_bug_764548()[source]
test_bug_817234()[source]
test_bug_926075()[source]
test_bug_931848()[source]
test_bytes_str_mixing()[source]
test_category()[source]
test_compile()[source]
test_constants()[source]
test_dealloc()[source]
test_debug_flag()[source]
test_dollar_matches_twice()[source]

$ matches the end of string, and just before the terminating

test_empty_array()[source]
test_expand()[source]
test_finditer()[source]
test_flags()[source]
test_getattr()[source]
test_getlower()[source]
test_group_name_in_exception()[source]
test_groupdict()[source]
test_ignore_case()[source]
test_inline_flags()[source]
test_issue17998()[source]
test_keep_buffer()[source]
test_keyword_parameters()[source]
test_large_subn()
test_match_repr()[source]
test_non_consuming()[source]
test_not_literal()[source]
test_pickling()[source]
test_qualified_re_split()[source]
test_qualified_re_sub()[source]
test_re_escape()[source]
test_re_escape_byte()[source]
test_re_escape_non_ascii()[source]
test_re_escape_non_ascii_bytes()[source]
test_re_findall()[source]
test_re_fullmatch()[source]
test_re_groupref()[source]
test_re_groupref_exists()[source]
test_re_match()[source]
test_re_split()[source]
test_re_subn()[source]
test_repeat_minmax()[source]
test_repeat_minmax_overflow()[source]
test_repeat_minmax_overflow_maxrepeat()[source]
test_scanner()[source]
test_search_coverage()[source]
test_search_dot_unicode()[source]
test_search_star_plus()[source]
test_special_escapes()[source]
test_sre_byte_class_literals()[source]
test_sre_byte_literals()[source]
test_sre_character_class_literals()[source]
test_sre_character_literals()[source]
test_stack_overflow()[source]
test_string_boundaries()[source]
test_sub_template_numeric_escape()[source]
test_symbolic_groups()[source]
test_symbolic_refs()[source]
test_unlimited_zero_width_repeat()[source]
test_weakref()[source]
class test.test_re.S[source]

Bases: str

test.test_re.run_re_tests()[source]
test.test_re.test_main()[source]

test.test_readline module

test.test_regrtest module

Tests of regrtest.py.

class test.test_regrtest.ParseArgsTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test regrtest’s argument parsing.

checkError(args, msg)[source]
test_arg()[source]
test_coverage()[source]
test_coverdir()[source]
test_exclude()[source]
test_failfast()[source]
test_forever()[source]
test_fromfile()[source]
test_header()[source]
test_help()[source]
test_huntrleaks()[source]
test_long_option__partial()[source]
test_match()[source]
test_memlimit()[source]
test_multiprocess()[source]
test_nocoverdir()[source]
test_nowindows()[source]
test_option_and_arg()[source]
test_option_with_empty_string_value()[source]
test_quiet()[source]
test_randomize()[source]
test_randseed()[source]
test_runleaks()[source]
test_single()[source]
test_slaveargs()[source]
test_slow()[source]
test_start()[source]
test_testdir()[source]
test_threshold()[source]
test_timeout()[source]
test_two_options()[source]
test_unrecognized_argument()[source]
test_use()[source]
test_verbose()[source]
test_verbose2()[source]
test_verbose3()[source]
test_wait()[source]

test.test_reprlib module

Test cases for the repr module Nick Mathewson

class test.test_reprlib.ClassWithFailingRepr[source]

Bases: object

class test.test_reprlib.ClassWithRepr(s)[source]

Bases: object

class test.test_reprlib.LongReprTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

longname = 'areallylongpackageandmodulenametotestreprtruncation'
setUp()[source]
tearDown()[source]
test_builtin_function()[source]
test_class()[source]
test_instance()[source]
test_method()[source]
test_module()[source]
test_object()[source]
test_type()[source]
class test.test_reprlib.MyContainer(values)[source]

Bases: object

Helper class for TestRecursiveRepr

append(value)[source]
class test.test_reprlib.MyContainer2(values)[source]

Bases: test.test_reprlib.MyContainer

class test.test_reprlib.ReprTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_builtin_function()[source]
test_cell()[source]
test_container()[source]
test_descriptors()[source]
test_instance()[source]
test_lambda()[source]
test_nesting()[source]
test_numbers()[source]
test_range()[source]
test_string()[source]
test_tuple()[source]
test_unsortable()[source]
class test.test_reprlib.TestRecursiveRepr(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_recursive_repr()[source]
test.test_reprlib.nestedTuple(nesting)[source]
test.test_reprlib.test_main()[source]
test.test_reprlib.write_file(path, text)[source]

test.test_resource module

test.test_richcmp module

class test.test_richcmp.DictTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_dicts()[source]
class test.test_richcmp.ListTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_badentry()[source]
test_coverage()[source]
test_goodentry()[source]
class test.test_richcmp.MiscTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_misbehavin()[source]
test_not()[source]
test_recursion()[source]
class test.test_richcmp.Number(x)[source]

Bases: object

class test.test_richcmp.NumberTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkvalue(opname, a, b, expres)[source]
test_basic()[source]
test_values()[source]
class test.test_richcmp.Vector(data)[source]

Bases: object

class test.test_richcmp.VectorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkequal(opname, a, b, expres)[source]
checkfail(error, opname, *args)[source]
test_mixed()[source]
test.test_richcmp.test_main()[source]

test.test_rlcompleter module

class test.test_rlcompleter.CompleteMe[source]

Bases: object

Trivial class used in testing rlcompleter.Completer.

spam = 1
class test.test_rlcompleter.TestRlcompleter(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_attr_matches()[source]
test_global_matches()[source]
test_namespace()[source]
test.test_rlcompleter.test_main()[source]

test.test_robotparser module

class test.test_robotparser.NetworkTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

testPythonOrg()[source]
class test.test_robotparser.PasswordProtectedSiteTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

runTest()[source]
setUp()[source]
tearDown()[source]
testPasswordProtectedSite()[source]
class test.test_robotparser.RobotHandler(request, client_address, server)[source]

Bases: http.server.BaseHTTPRequestHandler

do_GET()[source]
log_message(format, *args)[source]
test.test_robotparser.RobotTest(index, robots_txt, good_urls, bad_urls, agent='test_robotparser')[source]
class test.test_robotparser.RobotTestCase(index=None, parser=None, url=None, good=None, agent=None)[source]

Bases: unittest.case.TestCase

runTest()[source]
test.test_robotparser.load_tests(loader, suite, pattern)[source]

test.test_runpy module

class test.test_runpy.CodeExecutionMixin[source]

Bases: object

CHECKED_SPEC_ATTRIBUTES = ['name', 'parent', 'origin', 'cached', 'has_location', 'submodule_search_locations']
assertNamespaceMatches(result_ns, expected_ns)[source]

Check two namespaces match.

Ignores any unspecified interpreter created names

check_code_execution(create_namespace, expected_namespace)[source]

Check that an interface runs the example code correctly

First argument is a callable accepting the initial globals and using them to create the actual namespace Second argument is the expected result

class test.test_runpy.ExecutionLayerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_runpy.CodeExecutionMixin

Unit tests for runpy._run_code and runpy._run_module_code

test_run_code()[source]
test_run_module_code()[source]
class test.test_runpy.RunModuleTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_runpy.CodeExecutionMixin

Unit tests for runpy.run_module

expect_import_error(mod_name)[source]
test_explicit_relative_import()[source]
test_invalid_names()[source]
test_library_module()[source]
test_main_relative_import()[source]
test_pkgutil_walk_packages()[source]
test_run_module()[source]
test_run_module_alter_sys()[source]
test_run_module_in_namespace_package()[source]
test_run_name()[source]
test_run_namespace_package()[source]
test_run_namespace_package_in_namespace_package()[source]
test_run_package()[source]
test_run_package_alter_sys()[source]
test_run_package_in_namespace_package()[source]
class test.test_runpy.RunPathTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_runpy.CodeExecutionMixin

Unit tests for runpy.run_path

test_basic_script()[source]
test_basic_script_no_suffix()[source]
test_directory()[source]
test_directory_compiled()[source]
test_directory_error()[source]
test_encoding()[source]
test_main_recursion_error()[source]
test_script_compiled()[source]
test_zipfile()[source]
test_zipfile_compiled()[source]
test_zipfile_error()[source]

test.test_sax module

class test.test_sax.BytesXmlgenTest(methodName='runTest')[source]

Bases: test.test_sax.XmlgenTest, unittest.case.TestCase

ioclass

alias of BytesIO

xml(doc, encoding='iso-8859-1')[source]
class test.test_sax.ErrorReportingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

class DummyLocator(lineno, colno)[source]

Bases: object

getColumnNumber()[source]
getLineNumber()[source]
getPublicId()[source]
getSystemId()[source]
ErrorReportingTest.test_expat_incomplete()[source]
ErrorReportingTest.test_expat_inpsource_location()[source]
ErrorReportingTest.test_sax_parse_exception_str()[source]
class test.test_sax.ExpatReaderTest(methodName='runTest')[source]

Bases: test.test_sax.XmlTestBase

class AttrGatherer[source]

Bases: xml.sax.handler.ContentHandler

startElement(name, attrs)[source]
startElementNS(name, qname, attrs)[source]
class ExpatReaderTest.TestDTDHandler[source]

Bases: object

notationDecl(name, publicId, systemId)[source]
unparsedEntityDecl(name, publicId, systemId, ndata)[source]
class ExpatReaderTest.TestEntityResolver[source]

Bases: object

resolveEntity(publicId, systemId)[source]
ExpatReaderTest.test_expat_attrs_empty()[source]
ExpatReaderTest.test_expat_attrs_wattr()[source]
ExpatReaderTest.test_expat_dtdhandler()[source]
ExpatReaderTest.test_expat_entityresolver()[source]
ExpatReaderTest.test_expat_file()[source]
ExpatReaderTest.test_expat_file_nonascii()[source]
ExpatReaderTest.test_expat_incremental()[source]
ExpatReaderTest.test_expat_incremental_reset()[source]
ExpatReaderTest.test_expat_inpsource_filename()[source]
ExpatReaderTest.test_expat_inpsource_stream()[source]
ExpatReaderTest.test_expat_inpsource_sysid()[source]
ExpatReaderTest.test_expat_inpsource_sysid_nonascii()[source]
ExpatReaderTest.test_expat_locator_noinfo()[source]
ExpatReaderTest.test_expat_locator_withinfo()[source]
ExpatReaderTest.test_expat_locator_withinfo_nonascii()[source]
ExpatReaderTest.test_expat_nsattrs_empty()[source]
ExpatReaderTest.test_expat_nsattrs_wattr()[source]
class test.test_sax.MakeParserTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_make_parser2()[source]
class test.test_sax.SaxutilsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_double_quoteattr()[source]
test_escape_all()[source]
test_escape_basic()[source]
test_escape_extra()[source]
test_make_parser()[source]
test_quoteattr_basic()[source]
test_single_double_quoteattr()[source]
test_single_quoteattr()[source]
test_unescape_all()[source]
test_unescape_amp_extra()[source]
test_unescape_basic()[source]
test_unescape_extra()[source]
class test.test_sax.StreamReaderWriterXmlgenTest(methodName='runTest')[source]

Bases: test.test_sax.XmlgenTest, unittest.case.TestCase

fname = '@test_6476_tmp-codecs'
ioclass()[source]
xml(doc, encoding='iso-8859-1')[source]
class test.test_sax.StreamWriterXmlgenTest(methodName='runTest')[source]

Bases: test.test_sax.XmlgenTest, unittest.case.TestCase

ioclass()[source]
xml(doc, encoding='iso-8859-1')[source]
class test.test_sax.StringXmlgenTest(methodName='runTest')[source]

Bases: test.test_sax.XmlgenTest, unittest.case.TestCase

ioclass

alias of StringIO

test_xmlgen_unencodable = None
xml(doc, encoding='iso-8859-1')[source]
class test.test_sax.WriterXmlgenTest(methodName='runTest')[source]

Bases: test.test_sax.BytesXmlgenTest

class ioclass[source]

Bases: list

closed = False
getvalue()[source]
seekable()[source]
tell()[source]
write()

L.append(object) -> None – append object to end

class test.test_sax.XMLFilterBaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_filter_basic()[source]
class test.test_sax.XmlReaderTest(methodName='runTest')[source]

Bases: test.test_sax.XmlTestBase

test_attrs_empty()[source]
test_attrs_wattr()[source]
test_nsattrs_empty()[source]
test_nsattrs_wattr()[source]
class test.test_sax.XmlTestBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

verify_attrs_wattr(attrs)[source]
verify_empty_attrs(attrs)[source]
verify_empty_nsattrs(attrs)[source]
class test.test_sax.XmlgenTest[source]

Bases: object

test_1463026_1()[source]
test_1463026_1_empty()[source]
test_1463026_2()[source]
test_1463026_2_empty()[source]
test_1463026_3()[source]
test_1463026_3_empty()[source]
test_5027_1()[source]
test_5027_2()[source]
test_no_close_file()[source]
test_xmlgen_attr_escape()[source]
test_xmlgen_basic()[source]
test_xmlgen_basic_empty()[source]
test_xmlgen_content()[source]
test_xmlgen_content_empty()[source]
test_xmlgen_content_escape()[source]
test_xmlgen_encoding()[source]
test_xmlgen_encoding_bytes()[source]
test_xmlgen_fragment()[source]
test_xmlgen_ignorable()[source]
test_xmlgen_ignorable_empty()[source]
test_xmlgen_ns()[source]
test_xmlgen_ns_empty()[source]
test_xmlgen_pi()[source]
test_xmlgen_unencodable()[source]
test.test_sax.test_main()[source]

test.test_sched module

class test.test_sched.TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_args_kwargs()[source]
test_cancel()[source]
test_cancel_concurrent()[source]
test_empty()[source]
test_enter()[source]
test_enter_concurrent()[source]
test_enterabs()[source]
test_priority()[source]
test_queue()[source]
test_run_non_blocking()[source]
class test.test_sched.Timer[source]

Bases: object

advance(t)[source]
sleep(t)[source]
time()[source]

test.test_scope module

class test.test_scope.ScopeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

testBoundAndFree()[source]
testCellIsKwonlyArg()[source]
testCellLeak()[source]
testClassAndGlobal()[source]
testClassNamespaceOverridesClosure()[source]
testComplexDefinitions()[source]
testEvalExecFreeVars()[source]
testEvalFreeVars()[source]
testExtraNesting()[source]
testFreeVarInMethod()[source]
testFreeingCell()[source]
testGlobalInParallelNestedFunctions()[source]
testInteractionWithTraceFunc()[source]
testLambdas()[source]
testLeaks()[source]
testListCompLocalVars()[source]
testLocalsClass()[source]
testLocalsClass_WithTrace()[source]
testLocalsFunction()[source]
testMixedFreevarsAndCellvars()[source]
testNearestEnclosingScope()[source]
testNestedNonLocal()[source]
testNestingGlobalNoFree()[source]
testNestingPlusFreeRefToGlobal()[source]
testNestingThroughClass()[source]
testNonLocalClass()[source]
testNonLocalFunction()[source]
testNonLocalGenerator()[source]
testNonLocalMethod()[source]
testRecursion()[source]
testScopeOfGlobalStmt()[source]
testSimpleAndRebinding()[source]
testSimpleNesting()[source]
testTopIsNotSignificant()[source]
testUnboundLocal()[source]
testUnboundLocal_AfterDel()[source]
testUnboundLocal_AugAssign()[source]
testUnoptimizedNamespaces()[source]
test.test_scope.test_main()[source]

test.test_script_helper module

test.test_select module

class test.test_select.SelectTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

class Almost[source]

Bases: object

fileno()[source]
class SelectTestCase.Nope[source]

Bases: object

SelectTestCase.test_errno()[source]
SelectTestCase.test_error_conditions()[source]
SelectTestCase.test_returned_list_identity()[source]
SelectTestCase.test_select()[source]
SelectTestCase.test_select_mutated()[source]
test.test_select.test_main()[source]

test.test_selectors module

class test.test_selectors.BaseSelectorTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

make_socketpair()[source]
test_close()[source]
test_context_manager()[source]
test_fileno()[source]
test_get_key()[source]
test_get_map()[source]
test_modify()[source]
test_register()[source]
test_select()[source]
test_select_interrupt()[source]
test_selector()[source]
test_timeout()[source]
test_unregister()[source]
test_unregister_after_fd_close()[source]
test_unregister_after_fd_close_and_reuse()[source]
test_unregister_after_socket_close()[source]
class test.test_selectors.DefaultSelectorTestCase(methodName='runTest')[source]

Bases: test.test_selectors.BaseSelectorTestCase

SELECTOR

alias of SelectSelector

class test.test_selectors.EpollSelectorTestCase(methodName='runTest')[source]

Bases: test.test_selectors.BaseSelectorTestCase, test.test_selectors.ScalableSelectorMixIn

SELECTOR = None
class test.test_selectors.KqueueSelectorTestCase(methodName='runTest')[source]

Bases: test.test_selectors.BaseSelectorTestCase, test.test_selectors.ScalableSelectorMixIn

SELECTOR = None
class test.test_selectors.PollSelectorTestCase(methodName='runTest')[source]

Bases: test.test_selectors.BaseSelectorTestCase, test.test_selectors.ScalableSelectorMixIn

SELECTOR = None
class test.test_selectors.ScalableSelectorMixIn[source]

Bases: object

test_above_fd_setsize()[source]
class test.test_selectors.SelectSelectorTestCase(methodName='runTest')[source]

Bases: test.test_selectors.BaseSelectorTestCase

SELECTOR

alias of SelectSelector

test.test_selectors.find_ready_matching(ready, flag)[source]
test.test_selectors.socketpair(family=<AddressFamily.AF_INET: 2>, type=<SocketType.SOCK_STREAM: 1>, proto=0)[source]
test.test_selectors.test_main()[source]

test.test_set module

class test.test_set.BadCmp[source]

Bases: object

class test.test_set.E(seqn)[source]

Bases: object

Test propagation of exceptions

class test.test_set.FrozenSetSubclass[source]

Bases: frozenset

class test.test_set.G(seqn)[source]

Bases: object

Sequence using __getitem__

class test.test_set.HashCountingInt(*args)[source]

Bases: int

int-like object that counts the number of times __hash__ is called

class test.test_set.I(seqn)[source]

Bases: object

Sequence using iterator protocol

class test.test_set.Ig(seqn)[source]

Bases: object

Sequence using iterator protocol defined with a generator

test.test_set.L(seqn)[source]

Test multiple tiers of iterators

class test.test_set.N(seqn)[source]

Bases: object

Iterator missing __next__()

exception test.test_set.PassThru[source]

Bases: Exception

test.test_set.R(seqn)[source]

Regular generator

class test.test_set.ReprWrapper[source]

Bases: object

Used to test self-referential repr() calls

class test.test_set.S(seqn)[source]

Bases: object

Test immediate stop

class test.test_set.SetSubclass[source]

Bases: set

class test.test_set.SetSubclassWithKeywordArgs(iterable=[], newarg=None)[source]

Bases: set

class test.test_set.TestBasicOps[source]

Bases: object

check_repr_against_values()[source]
test_copy()[source]
test_empty_difference()[source]
test_empty_difference_rev()[source]
test_empty_intersection()[source]
test_empty_isdisjoint()[source]
test_empty_symmetric_difference()[source]
test_empty_union()[source]
test_equivalent_equality()[source]
test_intersection_empty()[source]
test_isdisjoint_empty()[source]
test_iteration()[source]
test_length()[source]
test_pickling()[source]
test_print()[source]
test_repr()[source]
test_self_difference()[source]
test_self_equality()[source]
test_self_intersection()[source]
test_self_isdisjoint()[source]
test_self_symmetric_difference()[source]
test_self_union()[source]
test_union_empty()[source]
class test.test_set.TestBasicOpsBytes(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
test_repr()[source]
class test.test_set.TestBasicOpsEmpty(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestBasicOpsMixedStringBytes(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_repr()[source]
class test.test_set.TestBasicOpsSingleton(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
test_in()[source]
test_not_in()[source]
class test.test_set.TestBasicOpsString(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
test_repr()[source]
class test.test_set.TestBasicOpsTriple(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestBasicOpsTuple(methodName='runTest')[source]

Bases: test.test_set.TestBasicOps, unittest.case.TestCase

setUp()[source]
test_in()[source]
test_not_in()[source]
class test.test_set.TestBinaryOps(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_eq()[source]
test_intersection_non_overlap()[source]
test_intersection_overlap()[source]
test_intersection_subset()[source]
test_intersection_superset()[source]
test_isdisjoint_non_overlap()[source]
test_isdisjoint_overlap()[source]
test_isdisjoint_subset()[source]
test_isdisjoint_superset()[source]
test_sym_difference_non_overlap()[source]
test_sym_difference_overlap()[source]
test_sym_difference_subset()[source]
test_sym_difference_superset()[source]
test_union_non_overlap()[source]
test_union_overlap()[source]
test_union_subset()[source]
test_union_superset()[source]
class test.test_set.TestCopying[source]

Bases: object

test_copy()[source]
test_deep_copy()[source]
class test.test_set.TestCopyingEmpty(methodName='runTest')[source]

Bases: test.test_set.TestCopying, unittest.case.TestCase

setUp()[source]
class test.test_set.TestCopyingNested(methodName='runTest')[source]

Bases: test.test_set.TestCopying, unittest.case.TestCase

setUp()[source]
class test.test_set.TestCopyingSingleton(methodName='runTest')[source]

Bases: test.test_set.TestCopying, unittest.case.TestCase

setUp()[source]
class test.test_set.TestCopyingTriple(methodName='runTest')[source]

Bases: test.test_set.TestCopying, unittest.case.TestCase

setUp()[source]
class test.test_set.TestCopyingTuple(methodName='runTest')[source]

Bases: test.test_set.TestCopying, unittest.case.TestCase

setUp()[source]
class test.test_set.TestExceptionPropagation(methodName='runTest')[source]

Bases: unittest.case.TestCase

SF 628246: Set constructor should not trap iterator TypeErrors

test_changingSizeWhileIterating()[source]
test_instanceWithException()[source]
test_instancesWithoutException()[source]
class test.test_set.TestFrozenSet(methodName='runTest')[source]

Bases: test.test_set.TestJointOps, unittest.case.TestCase

basetype

alias of frozenset

test_constructor_identity()[source]
test_copy()[source]
test_frozen_as_dictkey()[source]
test_hash()[source]
test_hash_caching()[source]
test_hash_effectiveness()[source]
test_init()[source]
test_singleton_empty_frozenset()[source]
thetype

alias of frozenset

class test.test_set.TestFrozenSetSubclass(methodName='runTest')[source]

Bases: test.test_set.TestFrozenSet

basetype

alias of frozenset

test_constructor_identity()[source]
test_copy()[source]
test_nested_empty_constructor()[source]
test_singleton_empty_frozenset()[source]
thetype

alias of FrozenSetSubclass

class test.test_set.TestGraphs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cube()[source]
test_cuboctahedron()[source]
class test.test_set.TestIdentities(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_binopsVsSubsets()[source]
test_commutativity()[source]
test_exclusion()[source]
test_summations()[source]
class test.test_set.TestJointOps[source]

Bases: object

setUp()[source]
test_and()[source]
test_badcmp()[source]
test_container_iterator()[source]
test_contains()[source]
test_cyclical_print()[source]
test_cyclical_repr()[source]
test_deepcopy()[source]
test_difference()[source]
test_do_not_rehash_dict_keys()[source]
test_equality()[source]
test_gc()[source]
test_intersection()[source]
test_isdisjoint()[source]
test_iterator_pickling()[source]
test_len()[source]
test_new_or_init()[source]
test_or()[source]
test_pickling()[source]
test_setOfFrozensets()[source]
test_sub()[source]
test_sub_and_super()[source]
test_subclass_with_custom_hash()[source]
test_symmetric_difference()[source]
test_union()[source]
test_uniquification()[source]
test_xor()[source]
class test.test_set.TestMutate(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_add_absent()[source]
test_add_present()[source]
test_add_until_full()[source]
test_clear()[source]
test_discard_absent()[source]
test_discard_present()[source]
test_pop()[source]
test_remove_absent()[source]
test_remove_present()[source]
test_remove_until_empty()[source]
test_update_empty_tuple()[source]
test_update_unit_tuple_non_overlap()[source]
test_update_unit_tuple_overlap()[source]
class test.test_set.TestOnlySetsDict(methodName='runTest')[source]

Bases: test.test_set.TestOnlySetsInBinaryOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestOnlySetsGenerator(methodName='runTest')[source]

Bases: test.test_set.TestOnlySetsInBinaryOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestOnlySetsInBinaryOps[source]

Bases: object

test_difference()[source]
test_difference_update()[source]
test_difference_update_operator()[source]
test_eq_ne()[source]
test_ge_gt_le_lt()[source]
test_intersection()[source]
test_intersection_update()[source]
test_intersection_update_operator()[source]
test_sym_difference()[source]
test_sym_difference_update()[source]
test_sym_difference_update_operator()[source]
test_union()[source]
test_update()[source]
test_update_operator()[source]
class test.test_set.TestOnlySetsNumeric(methodName='runTest')[source]

Bases: test.test_set.TestOnlySetsInBinaryOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestOnlySetsOperator(methodName='runTest')[source]

Bases: test.test_set.TestOnlySetsInBinaryOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestOnlySetsString(methodName='runTest')[source]

Bases: test.test_set.TestOnlySetsInBinaryOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestOnlySetsTuple(methodName='runTest')[source]

Bases: test.test_set.TestOnlySetsInBinaryOps, unittest.case.TestCase

setUp()[source]
class test.test_set.TestSet(methodName='runTest')[source]

Bases: test.test_set.TestJointOps, unittest.case.TestCase

basetype

alias of set

test_add()[source]
test_c_api()[source]
test_clear()[source]
test_constructor_identity()[source]
test_copy()[source]
test_difference_update()[source]
test_discard()[source]
test_hash()[source]
test_iand()[source]
test_init()[source]
test_inplace_on_self()[source]
test_intersection_update()[source]
test_ior()[source]
test_isub()[source]
test_ixor()[source]
test_pop()[source]
test_remove()[source]
test_remove_keyerror_set()[source]
test_remove_keyerror_unpacking()[source]
test_rich_compare()[source]
test_set_literal()[source]
test_symmetric_difference_update()[source]
test_update()[source]
test_weakref()[source]
thetype

alias of set

class test.test_set.TestSetOfSets(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constructor()[source]
class test.test_set.TestSetSubclass(methodName='runTest')[source]

Bases: test.test_set.TestSet

basetype

alias of set

thetype

alias of SetSubclass

class test.test_set.TestSetSubclassWithKeywordArgs(methodName='runTest')[source]

Bases: test.test_set.TestSet

test_keywords_in_subclass()[source]

SF bug #1486663 – this used to erroneously raise a TypeError

class test.test_set.TestSubsetEmptyNonEmpty(methodName='runTest')[source]

Bases: test.test_set.TestSubsets, unittest.case.TestCase

cases = ('!=', '<', '<=')
left = set()
name = 'one empty, one non-empty'
right = {1, 2}
class test.test_set.TestSubsetEqualEmpty(methodName='runTest')[source]

Bases: test.test_set.TestSubsets, unittest.case.TestCase

cases = ('==', '<=', '>=')
left = set()
name = 'both empty'
right = set()
class test.test_set.TestSubsetEqualNonEmpty(methodName='runTest')[source]

Bases: test.test_set.TestSubsets, unittest.case.TestCase

cases = ('==', '<=', '>=')
left = {1, 2}
name = 'equal pair'
right = {1, 2}
class test.test_set.TestSubsetNonOverlap(methodName='runTest')[source]

Bases: test.test_set.TestSubsets, unittest.case.TestCase

cases = '!='
left = {1}
name = 'neither empty, neither contains'
right = {2}
class test.test_set.TestSubsetPartial(methodName='runTest')[source]

Bases: test.test_set.TestSubsets, unittest.case.TestCase

cases = ('!=', '<', '<=')
left = {1}
name = 'one a non-empty proper subset of other'
right = {1, 2}
class test.test_set.TestSubsets[source]

Bases: object

case2method = {'<=': 'issubset', '>=': 'issuperset'}
reverse = {'<': '>', '!=': '!=', '>': '<', '<=': '>=', '>=': '<=', '==': '=='}
test_issubset()[source]
class test.test_set.TestUpdateOps(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_difference_method_call()[source]
test_difference_non_overlap()[source]
test_difference_overlap()[source]
test_difference_subset()[source]
test_difference_superset()[source]
test_intersection_method_call()[source]
test_intersection_non_overlap()[source]
test_intersection_overlap()[source]
test_intersection_subset()[source]
test_intersection_superset()[source]
test_sym_difference_method_call()[source]
test_sym_difference_non_overlap()[source]
test_sym_difference_overlap()[source]
test_sym_difference_subset()[source]
test_sym_difference_superset()[source]
test_union_method_call()[source]
test_union_non_overlap()[source]
test_union_overlap()[source]
test_union_subset()[source]
test_union_superset()[source]
class test.test_set.TestVariousIteratorArgs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_constructor()[source]
test_inline_methods()[source]
test_inplace_methods()[source]
class test.test_set.TestWeirdBugs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_8420_set_merge()[source]
class test.test_set.X(seqn)[source]

Bases: object

Missing __getitem__ and __iter__

class test.test_set.bad_dict_clear[source]

Bases: object

class test.test_set.bad_eq[source]

Bases: object

test.test_set.baditer()[source]
test.test_set.check_pass_thru()[source]
test.test_set.cube(n)[source]

Graph of n-dimensional hypercube.

test.test_set.faces(G)[source]

Return a set of faces in G. Where a face is a set of vertices on that face

test.test_set.gooditer()[source]
test.test_set.linegraph(G)[source]

Graph, the vertices of which are edges of G, with two vertices being adjacent iff the corresponding edges share a vertex.

test.test_set.powerset(U)[source]

Generates all subsets of a set or sequence U.

test.test_setcomps module

test.test_setcomps.test_main(verbose=None)[source]

test.test_shelve module

test.test_shelve.L1(s)[source]
class test.test_shelve.TestAsciiFileShelve(*args, **kw)[source]

Bases: test.test_shelve.TestShelveBase

class test.test_shelve.TestAsciiMemShelve(*args, **kw)[source]

Bases: test.test_shelve.TestShelveBase

class test.test_shelve.TestBinaryFileShelve(*args, **kw)[source]

Bases: test.test_shelve.TestShelveBase

class test.test_shelve.TestBinaryMemShelve(*args, **kw)[source]

Bases: test.test_shelve.TestShelveBase

class test.test_shelve.TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

fn = 'shelftemp.db'
tearDown()[source]
test_ascii_file_shelf()[source]
test_binary_file_shelf()[source]
test_close()[source]
test_in_memory_shelf()[source]
test_keyencoding()[source]
test_mutable_entry()[source]
test_proto2_file_shelf()[source]
test_with()[source]
test_writeback_also_writes_immediately()[source]
class test.test_shelve.TestProto2FileShelve(*args, **kw)[source]

Bases: test.test_shelve.TestShelveBase

class test.test_shelve.TestProto2MemShelve(*args, **kw)[source]

Bases: test.test_shelve.TestShelveBase

class test.test_shelve.TestShelveBase(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

counter = 0
fn = 'shelftemp.db'
tearDown()[source]
type2test

alias of Shelf

class test.test_shelve.byteskeydict[source]

Bases: collections.abc.MutableMapping

Mapping that supports bytes keys

copy()[source]
iterkeys()[source]
keys()[source]
test.test_shelve.test_main()[source]

test.test_shlex module

class test.test_shlex.ShlexTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

oldSplit(s)[source]
setUp()[source]
splitTest(data, comments)[source]
testCompat()[source]

Test compatibility interface

testQuote()[source]
testSplitPosix()[source]

Test data splitting with posix parser

test.test_shlex.test_main()[source]

test.test_shutil module

class test.test_shutil.TermsizeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_does_not_crash()[source]

Check if get_terminal_size() returns a meaningful value.

There’s no easy portable way to actually check the size of the terminal, so let’s check if it returns something sensible instead.

test_os_environ_first()[source]

Check if environment variables have precedence

test_stty_match()[source]

Check if stty returns the same results ignoring env

This test will fail if stdin and stdout are connected to different terminals with different sizes. Nevertheless, such situations should be pretty rare.

class test.test_shutil.TestCopyFile(methodName='runTest')[source]

Bases: unittest.case.TestCase

class Faux(raise_in_exit=False, suppress_at_exit=True)[source]

Bases: object

read(*args)[source]
TestCopyFile.tearDown()[source]
TestCopyFile.test_move_dir_caseinsensitive()[source]
TestCopyFile.test_w_dest_close_fails()[source]
TestCopyFile.test_w_dest_open_fails()[source]
TestCopyFile.test_w_source_close_fails()[source]
TestCopyFile.test_w_source_open_fails()[source]
class test.test_shutil.TestMove(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_destinsrc_false_negative()[source]
test_destinsrc_false_positive()[source]
test_dont_move_dir_in_itself()[source]
test_existing_file_inside_dest_dir()[source]
test_move_as_rename_return_value()[source]
test_move_dir()[source]
test_move_dir_altsep_to_dir()[source]
test_move_dir_other_fs()[source]
test_move_dir_sep_to_dir()[source]
test_move_dir_to_dir()[source]
test_move_dir_to_dir_other_fs()[source]
test_move_file()[source]
test_move_file_other_fs()[source]
test_move_file_to_dir()[source]
test_move_file_to_dir_other_fs()[source]
test_move_return_value()[source]
class test.test_shutil.TestShutil(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_args_to_onerror(func, arg, exc)[source]
mkdtemp()[source]

Create a temporary directory that will be cleaned up.

Returns the path of the directory.

setUp()[source]
tearDown()[source]
test_chown()[source]
test_copy()[source]
test_copy2()[source]
test_copy2_xattr()[source]
test_copy_return_value()[source]
test_copyfile_named_pipe()[source]
test_copyfile_return_value()[source]
test_copyfile_same_file()[source]
test_copystat_handles_harmless_chflags_errors()[source]
test_copytree_named_pipe()[source]
test_copytree_retains_permissions()[source]
test_copytree_return_value()[source]
test_copytree_simple()[source]
test_copytree_special_func()[source]
test_copytree_with_exclude()[source]
test_copyxattr()[source]
test_disk_usage()[source]
test_make_archive()[source]
test_make_archive_cwd()[source]
test_make_archive_owner_group()[source]
test_make_tarball()[source]
test_make_zipfile()[source]
test_on_error()[source]
test_register_archive_format()[source]
test_rmtree_does_not_choke_on_failing_lstat()[source]
test_rmtree_dont_delete_file()[source]
test_rmtree_errors()[source]
test_rmtree_uses_safe_fd_version_if_available()[source]
test_rmtree_works_on_bytes()[source]
test_tarfile_root_owner()[source]
test_tarfile_vs_tar()[source]
test_unpack_archive()[source]
test_unpack_registery()[source]
class test.test_shutil.TestWhich(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_absolute_cmd()[source]
test_basic()[source]
test_cwd()[source]
test_empty_path()[source]
test_empty_path_no_PATH()[source]
test_environ_path()[source]
test_non_matching_mode()[source]
test_nonexistent_file()[source]
test_pathext_checking()[source]
test_relative_cmd()[source]
test_relative_path()[source]
test.test_shutil.mock_rename(func)[source]
test.test_shutil.read_file(path, binary=False)[source]

Return contents from a file located at path.

If path is a tuple instead of a string, os.path.join will be used to make a path. If binary is true, the file will be opened in binary mode.

test.test_shutil.write_file(path, content, binary=False)[source]

Write content to a file located at path.

If path is a tuple instead of a string, os.path.join will be used to make a path. If binary is true, the file will be opened in binary mode.

test.test_signal module

exception test.test_signal.HandlerBCalled[source]

Bases: Exception

class test.test_signal.InterProcessSignalTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

MAX_DURATION = 20
format_frame(frame, limit=None)[source]
handlerA(signum, frame)[source]
handlerB(signum, frame)[source]
run_test()[source]
setUp()[source]
tearDown()[source]
test_main()[source]
wait(child)[source]

Wait for child to finish, ignoring EINTR.

class test.test_signal.ItimerTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
sig_alrm(*args)[source]
sig_prof(*args)[source]
sig_vtalrm(*args)[source]
tearDown()[source]
test_itimer_exc()[source]
test_itimer_prof()[source]
test_itimer_real()[source]
test_itimer_virtual()[source]
class test.test_signal.PendingSignalsTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test pthread_sigmask(), pthread_kill(), sigpending() and sigwait() functions.

test_pthread_kill()[source]
test_pthread_kill_main_thread()[source]
test_pthread_sigmask()[source]
test_pthread_sigmask_arguments()[source]
test_sigpending()[source]
test_sigpending_empty()[source]
test_sigtimedwait()[source]
test_sigtimedwait_negative_timeout()[source]
test_sigtimedwait_poll()[source]
test_sigtimedwait_timeout()[source]
test_sigwait()[source]
test_sigwait_thread()[source]
test_sigwaitinfo()[source]
test_sigwaitinfo_interrupted()[source]
wait_helper(blocked, test)[source]

test: body of the “def test(signum):” function. blocked: number of the blocked signal

class test.test_signal.PosixTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_getsignal()[source]
test_out_of_range_signal_number_raises_error()[source]
test_setting_signal_handler_to_none_raises_error()[source]
trivial_signal_handler(*args)[source]
class test.test_signal.SiginterruptTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

readpipe_interrupted(interrupt)[source]

Perform a read during which a signal will arrive. Return True if the read is interrupted by the signal and raises an exception. Return False if it returns normally.

test_siginterrupt_off()[source]
test_siginterrupt_on()[source]
test_without_siginterrupt()[source]
class test.test_signal.WakeupFDTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_invalid_fd()[source]
class test.test_signal.WakeupSignalTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_wakeup(test_body, *signals, ordered=True)[source]
test_pending()[source]
test_signum()[source]
test_wakeup_fd_during()[source]
test_wakeup_fd_early()[source]
test_wakeup_write_error()[source]
class test.test_signal.WindowsSignalTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_issue9324()[source]
test.test_signal.exit_subprocess()[source]

Use os._exit(0) to exit the current subprocess.

Otherwise, the test catches the SystemExit and continues executing in parallel with the original test, so you wind up with an exponential number of tests running concurrently.

test.test_signal.ignoring_eintr(__func, *args, **kwargs)[source]
test.test_signal.test_main()[source]

test.test_site module

Tests for ‘site’.

Tests assume the initial paths in sys.path once the interpreter has begun executing have not been removed.

class test.test_site.HelperFunctionsTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for helper functions.

make_pth(contents, pth_dir='.', pth_name='@test_6476_tmp')[source]
pth_file_tests(pth_file)[source]

Contain common code for testing results of reading a .pth file

setUp()[source]

Save a copy of sys.path

tearDown()[source]

Restore sys.path

test_addpackage()[source]
test_addpackage_import_bad_exec()[source]
test_addpackage_import_bad_pth_file()[source]
test_addpackage_import_bad_syntax()[source]
test_addsitedir()[source]
test_getsitepackages()[source]
test_getuserbase()[source]
test_getusersitepackages()[source]
test_init_pathinfo()[source]
test_makepath()[source]
test_s_option()[source]
class test.test_site.ImportSideEffectTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test side-effects from importing ‘site’.

setUp()[source]

Make a copy of sys.path

tearDown()[source]

Restore sys.path

test_abs_paths()[source]
test_add_build_dir()[source]
test_aliasing_mbcs()[source]
test_license_exists_at_url()[source]
test_no_duplicate_paths()[source]
test_setting_help()[source]
test_setting_quit()[source]
test_sitecustomize_executed()[source]
class test.test_site.PthFile(filename_base='@test_6476_tmp', imported='time', good_dirname='__testdir__', bad_dirname='__bad')[source]

Bases: object

Helper class for handling testing of .pth files

cleanup(prep=False)[source]

Make sure that the .pth file is deleted, self.imported is not in sys.modules, and that both self.good_dirname and self.bad_dirname are not existing directories.

create()[source]

Create a .pth file with a comment, blank lines, an import <self.imported>, a line with self.good_dirname, and a line with self.bad_dirname.

Creation of the directory for self.good_dir_path (based off of self.good_dirname) is also performed.

Make sure to call self.cleanup() to undo anything done by this method.

class test.test_site.StartupImportTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_startup_imports()[source]

test.test_slice module

class test.test_slice.MyIndexable(value)[source]

Bases: object

class test.test_slice.SliceTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_indices(slice, length)[source]
test_cmp()[source]
test_constructor()[source]
test_hash()[source]
test_indices()[source]
test_members()[source]
test_pickle()[source]
test_repr()[source]
test_setslice_without_getslice()[source]
test.test_slice.evaluate_slice_index(arg)[source]

Helper function to convert a slice argument to an integer, and raise TypeError with a suitable message on failure.

test.test_slice.slice_indices(slice, length)[source]

Reference implementation for the slice.indices method.

test.test_slice.test_main()[source]

test.test_smtpd module

class test.test_smtpd.BrokenDummyServer(localaddr, remoteaddr)[source]

Bases: test.test_smtpd.DummyServer

listen(num)[source]
exception test.test_smtpd.DummyDispatcherBroken[source]

Bases: Exception

class test.test_smtpd.DummyServer(localaddr, remoteaddr)[source]

Bases: smtpd.SMTPServer

process_message(peer, mailfrom, rcpttos, data)[source]
class test.test_smtpd.SMTPDChannelTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_DATA_syntax()[source]
test_EHLO()[source]
test_EHLO_HELO_duplicate()[source]
test_EHLO_bad_syntax()[source]
test_EHLO_duplicate()[source]
test_EXPN_not_implemented()[source]
test_HELO()[source]
test_HELO_EHLO_duplicate()[source]
test_HELO_NOOP()[source]
test_HELO_QUIT()[source]
test_HELO_RSET()[source]
test_HELO_bad_syntax()[source]
test_HELO_duplicate()[source]
test_HELO_parameter_rejected_when_extensions_not_enabled()[source]
test_HELP()[source]
test_HELP_command()[source]
test_HELP_command_unknown()[source]
test_MAIL_RCPT_unknown_parameters()[source]
test_MAIL_allows_space_after_colon()[source]
test_MAIL_chevrons()[source]
test_MAIL_command_limit_extended_with_SIZE()[source]
test_MAIL_empty_chevrons()[source]
test_MAIL_invalid_size_parameter()[source]
test_MAIL_missing_address()[source]
test_MAIL_quoted_localpart()[source]
test_MAIL_quoted_localpart_no_angles()[source]
test_MAIL_quoted_localpart_with_size()[source]
test_MAIL_quoted_localpart_with_size_no_angles()[source]
test_MAIL_size_parameter()[source]
test_MAIL_size_parameter_larger_than_default_data_size_limit()[source]
test_MAIL_syntax_EHLO()[source]
test_MAIL_syntax_HELO()[source]
test_NOOP()[source]
test_NOOP_bad_syntax()[source]
test_QUIT()[source]
test_QUIT_arg_ignored()[source]
test_RCPT_lowercase_to_OK()[source]
test_RCPT_syntax_EHLO()[source]
test_RCPT_syntax_HELO()[source]
test_RSET()[source]
test_RSET_syntax()[source]
test_VRFY()[source]
test_VRFY_syntax()[source]
test_attribute_deprecations()[source]
test_bad_state()[source]
test_broken_connect()[source]
test_command_too_long()[source]
test_data_dialog()[source]
test_data_longer_than_default_data_size_limit()[source]
test_data_transparency_section_4_5_2()[source]
test_extended_MAIL_allows_space_after_colon()[source]
test_manual_status()[source]
test_missing_data()[source]
test_multiple_RCPT()[source]
test_need_MAIL()[source]
test_need_RCPT()[source]
test_nested_MAIL()[source]
test_no_HELO_DATA()[source]
test_no_HELO_MAIL()[source]
test_no_HELO_RCPT()[source]
test_server_accept()[source]
test_unknown_command()[source]
write_line(line)[source]
class test.test_smtpd.SMTPDChannelWithDataSizeLimitTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_data_limit_dialog()[source]
test_data_limit_dialog_too_much_data()[source]
write_line(line)[source]
class test.test_smtpd.SMTPDServerTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_process_message_unimplemented()[source]

test.test_smtplib module

class test.test_smtplib.BadHELOServerTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
testFailingHELO()[source]
class test.test_smtplib.DebuggingServerTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

maxDiff = None
setUp()[source]
tearDown()[source]
testBasic()[source]
testELHO()[source]
testEXPNNotImplemented()[source]
testHELP()[source]
testNOOP()[source]
testRSET()[source]
testSecondHELO()[source]
testSend()[source]
testSendBinary()[source]
testSendMessage()[source]
testSendMessageMultipleResentRaises()[source]
testSendMessageResent()[source]
testSendMessageWithAddresses()[source]
testSendMessageWithMultipleFrom()[source]
testSendMessageWithSomeAddresses()[source]
testSendMessageWithSpecifiedAddresses()[source]
testSendNeedingDotQuote()[source]
testSendNullSender()[source]
testSourceAddress()[source]
testVRFY()[source]
class test.test_smtplib.GeneralTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
testBasic1()[source]
testBasic2()[source]
testLocalHostName()[source]
testQuoteData()[source]
testSourceAddress()[source]
testTimeoutDefault()[source]
testTimeoutNone()[source]
testTimeoutValue()[source]
class test.test_smtplib.NonConnectingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

testNonnumericPort()[source]
testNotConnected()[source]
class test.test_smtplib.SMTPSimTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
testAUTH_CRAM_MD5()[source]
testAUTH_LOGIN()[source]
testAUTH_PLAIN()[source]
testAUTH_multiple()[source]
testBasic()[source]
testEHLO()[source]
testEXPN()[source]
testVRFY()[source]
test_421_from_data_cmd()[source]
test_421_from_mail_cmd()[source]
test_421_from_rcpt_cmd()[source]
test__rest_from_mail_cmd()[source]
test_quit_resets_greeting()[source]
test_with_statement()[source]
test_with_statement_QUIT_failure()[source]
class test.test_smtplib.SimSMTPChannel(extra_features, *args, **kw)[source]

Bases: smtpd.SMTPChannel

data_response = None
disconnect = 0
handle_error()[source]
mail_response = None
quit_response = None
rcpt_count = 0
rcpt_response = None
rset_count = 0
smtp_AUTH(arg)[source]
smtp_DATA(arg)[source]
smtp_EHLO(arg)[source]
smtp_EXPN(arg)[source]
smtp_MAIL(arg)[source]
smtp_QUIT(arg)[source]
smtp_RCPT(arg)[source]
smtp_RSET(arg)[source]
smtp_VRFY(arg)[source]
class test.test_smtplib.SimSMTPServer(*args, **kw)[source]

Bases: smtpd.SMTPServer

add_feature(feature)[source]
channel_class

alias of SimSMTPChannel

handle_accepted(conn, addr)[source]
handle_error()[source]
process_message(peer, mailfrom, rcpttos, data)[source]
class test.test_smtplib.TooLongLineTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

respdata = b'250 OK................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................\n'
setUp()[source]
tearDown()[source]
testLineTooLong()[source]
test.test_smtplib.debugging_server(serv, serv_evt, client_evt)[source]
test.test_smtplib.server(evt, buf, serv)[source]
test.test_smtplib.test_main(verbose=None)[source]

test.test_smtpnet module

class test.test_smtpnet.SmtpSSLTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

remotePort = 465
testServer = 'smtp.gmail.com'
test_connect()[source]
test_connect_default_port()[source]
test_connect_using_sslcontext()[source]
test_connect_using_sslcontext_verified()[source]
class test.test_smtpnet.SmtpTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

remotePort = 25
testServer = 'smtp.gmail.com'
test_connect_starttls()[source]
test.test_smtpnet.check_ssl_verifiy(host, port)[source]
test.test_smtpnet.test_main()[source]

test.test_sndhdr module

class test.test_sndhdr.TestFormats(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_data()[source]

test.test_socket module

class test.test_socket.BasicCANTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testBCMConstants()[source]
testBindAny()[source]
testCreateBCMSocket()[source]
testCreateSocket()[source]
testCrucialConstants()[source]
testFilter()[source]
testLoopback()[source]
testTooLongInterfaceName()[source]
class test.test_socket.BasicRDSTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testCreateSocket()[source]
testCrucialConstants()[source]
testSocketBufferSize()[source]
class test.test_socket.BasicSocketPairTest(methodName='runTest')[source]

Bases: test.test_socket.SocketPairTest

testDefaults()[source]
testRecv()[source]
testSend()[source]
class test.test_socket.BasicTCPTest(methodName='runTest')[source]

Bases: test.test_socket.SocketConnectedTest

testDetach()[source]
testDup()[source]
testFromFd()[source]
testOverFlowRecv()[source]
testOverFlowRecvFrom()[source]
testRecv()[source]
testRecvFrom()[source]
testSendAll()[source]
testShutdown()[source]
testShutdown_overflow()
class test.test_socket.BasicTCPTest2(methodName='runTest')[source]

Bases: test.test_socket.NetworkConnectionTest, test.test_socket.BasicTCPTest

Tests that NetworkConnection does not break existing TCP functionality.

class test.test_socket.BasicUDPTest(methodName='runTest')[source]

Bases: test.test_socket.ThreadedUDPSocketTest

testRecvFrom()[source]
testRecvFromNegative()[source]
testSendtoAndRecv()[source]
class test.test_socket.BufferIOTest(methodName='runTest')[source]

Bases: test.test_socket.SocketConnectedTest

Test the buffer versions of socket.recv() and socket.send().

testRecvFromIntoArray()[source]
testRecvFromIntoBytearray()[source]
testRecvFromIntoEmptyBuffer()[source]
testRecvFromIntoMemoryview()[source]
testRecvFromIntoSmallBuffer()[source]
testRecvIntoArray()[source]
testRecvIntoBytearray()[source]
testRecvIntoMemoryview()[source]
class test.test_socket.CANTest(methodName='runTest')[source]

Bases: test.test_socket.ThreadedCANSocketTest

classmethod build_can_frame(can_id, data)[source]

Build a CAN frame.

classmethod dissect_can_frame(frame)[source]

Dissect a CAN frame.

testBCM()[source]
testSendFrame()[source]
testSendMaxFrame()[source]
testSendMultiFrames()[source]
class test.test_socket.CmsgMacroTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

socklen_t_limit = 2147483647
testCMSG_LEN()[source]
testCMSG_SPACE()[source]
class test.test_socket.ConnectedStreamTestMixin(*args, **kwargs)[source]

Bases: test.test_socket.SocketListeningTestMixin, test.test_socket.ThreadedSocketTestMixin

Mixin to allow client/server stream tests with connected client.

Server’s socket representing connection to client is self.cli_conn and client’s connection to server is self.serv_conn. (Based on SocketConnectedTest.)

clientSetUp()[source]
clientTearDown()[source]
setUp()[source]
tearDown()[source]
class test.test_socket.ContextManagersTest(methodName='runTest')[source]

Bases: test.test_socket.ThreadedTCPSocketTest

testCreateConnectionBase()[source]
testCreateConnectionClose()[source]
class test.test_socket.FileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.SocketConnectedTest

Unit tests for the object returned by socket.makefile()

self.read_file is the io object returned by makefile() on the client connection. You can read from this file to get output from the server.

self.write_file is the io object returned by makefile() on the server connection. You can write to this file to send output to the client.

bufsize = -1
clientSetUp()[source]
clientTearDown()[source]
encoding = 'utf-8'
errors = 'strict'
newline = None
read_mode = 'rb'
read_msg = b'Michael Gilfix was here\xe1\x88\xb4\r\n'
setUp()[source]
tearDown()[source]
testAttributes()[source]
testCloseAfterMakefile()[source]
testClosedAttr()[source]
testFullRead()[source]
testMakefileAfterMakefileClose()[source]
testReadAfterTimeout()[source]
testReadline()[source]
testRealClose()[source]
testSmallRead()[source]
testUnbufferedRead()[source]
write_mode = 'wb'
write_msg = b'Michael Gilfix was here\xe1\x88\xb4\r\n'
class test.test_socket.FileObjectInterruptedTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test that the file object correctly handles EINTR internally.

class MockSocket(recv_funcs=())[source]

Bases: object

recv_into(buffer)[source]
FileObjectInterruptedTestCase.test_default()[source]
FileObjectInterruptedTestCase.test_no_buffer()[source]
FileObjectInterruptedTestCase.test_with_1k_buffer()[source]
class test.test_socket.GeneralModuleTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_sendall_interrupted(with_timeout)[source]
testCrucialConstants()[source]
testDefaultTimeout()[source]
testGetServBy()[source]
testGetSockOpt()[source]
testGetaddrinfo()[source]
testHostnameRes()[source]
testIPv4_inet_aton_fourbytes()[source]
testIPv4toString()[source]
testIPv6toString()[source]
testInterfaceNameIndex()[source]
testInterpreterCrash()[source]
testInvalidInterfaceNameIndex()[source]
testNewAttributes()[source]
testNtoH()[source]
testNtoHErrors()[source]
testRefCountGetNameInfo()[source]
testSendAfterClose()[source]
testSendtoErrors()[source]
testSetSockOpt()[source]
testSockName()[source]
testSocketError()[source]
testStringToIPv4()[source]
testStringToIPv6()[source]
test_csocket_repr()[source]
test_dealloc_warn()[source]
test_flowinfo()[source]
test_getnameinfo()[source]
test_getsockaddrarg()[source]
test_host_resolution()[source]
test_idna()[source]
test_listen_backlog()[source]
test_listen_backlog_overflow()[source]
test_name_closed_socketio()[source]
test_pickle()[source]
test_repr()[source]
test_sendall_interrupted()[source]
test_sendall_interrupted_with_timeout()[source]
test_sethostname()[source]
test_sock_ioctl()[source]
test_str_for_enums()[source]
test_uknown_socket_family_repr()[source]
test_unusable_closed_socketio()[source]
test_weakref()[source]
class test.test_socket.Inet6TestBase(methodName='runTest')[source]

Bases: test.test_socket.InetTestBase

Base class for IPv6 socket tests.

host = '::1'
class test.test_socket.InetTestBase(methodName='runTest')[source]

Bases: test.test_socket.SocketTestBase

Base class for IPv4 socket tests.

bindSock(sock)[source]
host = '127.0.0.1'
setUp()[source]
class test.test_socket.InheritanceTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_SOCK_CLOEXEC()[source]
test_default_inheritable()[source]
test_dup()[source]
test_get_inheritable_cloexec()[source]
test_set_inheritable()[source]
test_set_inheritable_cloexec()[source]
test_socketpair()[source]
class test.test_socket.InterruptedRecvTimeoutTest(methodName='runTest')[source]

Bases: test.test_socket.InterruptedTimeoutBase, test.test_socket.UDPTestBase

checkInterruptedRecv(func, *args, **kwargs)[source]
setUp()[source]
testInterruptedRecvIntoTimeout()[source]
testInterruptedRecvTimeout()[source]
testInterruptedRecvfromIntoTimeout()[source]
testInterruptedRecvfromTimeout()[source]
testInterruptedRecvmsgIntoTimeout()[source]
testInterruptedRecvmsgTimeout()[source]
class test.test_socket.InterruptedSendTimeoutTest(*args, **kwargs)[source]

Bases: test.test_socket.InterruptedTimeoutBase, test.test_socket.ThreadSafeCleanupTestCase, test.test_socket.SocketListeningTestMixin, test.test_socket.TCPTestBase

checkInterruptedSend(func, *args, **kwargs)[source]
doConnect()[source]
setUp()[source]
testInterruptedSendTimeout()[source]
testInterruptedSendmsgTimeout()[source]
testInterruptedSendtoTimeout()[source]
class test.test_socket.InterruptedTimeoutBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

alarm_time = 2
setAlarm(seconds)[source]
setUp()[source]
timeout = 4.0
class test.test_socket.LineBufferedFileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.FileObjectClassTestCase

bufsize = 1
class test.test_socket.NetworkConnectionAttributesTest(methodName='runTest')[source]

Bases: test.test_socket.SocketTCPTest, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
testFamily()
testSourceAddress()
testTimeoutDefault()
testTimeoutNone()
testTimeoutValueNamed()
testTimeoutValueNonamed()
class test.test_socket.NetworkConnectionBehaviourTest(methodName='runTest')[source]

Bases: test.test_socket.SocketTCPTest, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
testInsideTimeout()[source]
testOutsideTimeout()
class test.test_socket.NetworkConnectionNoServer(methodName='runTest')[source]

Bases: unittest.case.TestCase

class MockSocket(family=<AddressFamily.AF_INET: 2>, type=<SocketType.SOCK_STREAM: 1>, proto=0, fileno=None)[source]

Bases: socket.socket

connect(*args)[source]
NetworkConnectionNoServer.mocked_socket_module()[source]

Return a socket which times out on connect

NetworkConnectionNoServer.test_connect()[source]
NetworkConnectionNoServer.test_create_connection()[source]
NetworkConnectionNoServer.test_create_connection_timeout()[source]
class test.test_socket.NetworkConnectionTest[source]

Bases: object

Prove network connection.

clientSetUp()[source]
class test.test_socket.NonBlockingTCPTests(methodName='runTest')[source]

Bases: test.test_socket.ThreadedTCPSocketTest

testAccept()[source]
testConnect()[source]
testInheritFlags()[source]
testInitNonBlocking()[source]
testRecv()[source]
testSetBlocking()[source]
testSetBlocking_overflow()[source]
class test.test_socket.NonblockConstantTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkNonblock(s, nonblock=True, timeout=0.0)[source]
test_SOCK_NONBLOCK()[source]
class test.test_socket.RDSTest(methodName='runTest')[source]

Bases: test.test_socket.ThreadedRDSSocketTest

setUp()[source]
testCongestion()[source]
testPeek()[source]
testSelect()[source]
testSendAndRecv()[source]
testSendAndRecvMsg()[source]
testSendAndRecvMulti()[source]
class test.test_socket.RFC3542AncillaryTest(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgServerTimeoutBase

ancillaryMapping(ancdata)[source]
checkHopLimit(ancbufsize, maxhop=255, ignoreflags=0)[source]
checkHopLimitTruncatedHeader(ancbufsize, ignoreflags=0)[source]
checkTrafficClassAndHopLimit(ancbufsize, maxhop=255, ignoreflags=0)[source]
checkTruncatedSecondHeader(ancbufsize, ignoreflags=0)[source]
hop_limit = 2
testCmsgTruncNoBufSize()[source]
testOddCmsgSize()[source]
testRecvHopLimit()[source]
testRecvHopLimitCMSG_SPACE()[source]
testRecvTrafficClassAndHopLimit()[source]
testRecvTrafficClassAndHopLimitCMSG_SPACE()[source]
testSecomdCmsgTruncInData()[source]
testSecondCmsgTrunc0()[source]
testSecondCmsgTrunc1()[source]
testSecondCmsgTrunc2Int()[source]
testSecondCmsgTruncLen0Minus1()[source]
testSetHopLimit()[source]
testSetTrafficClassAndHopLimit()[source]
testSingleCmsgTrunc0()[source]
testSingleCmsgTrunc1()[source]
testSingleCmsgTrunc2Int()[source]
testSingleCmsgTruncInData()[source]
testSingleCmsgTruncLen0Minus1()[source]
traffic_class = -1
class test.test_socket.RecvmsgGenericStreamTests(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgGenericTests

testRecvmsgEOF()[source]
testRecvmsgOverflow()[source]
class test.test_socket.RecvmsgGenericTests(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

testRecvmsg()[source]
testRecvmsgAfterClose()[source]
testRecvmsgExplicitDefaults()[source]
testRecvmsgFromSendmsg()[source]
testRecvmsgLongAncillaryBuf()[source]
testRecvmsgPeek()[source]
testRecvmsgShortAncillaryBuf()[source]
testRecvmsgShorter()[source]
testRecvmsgTimeout()[source]
testRecvmsgTrunc()[source]
class test.test_socket.RecvmsgIntoMixin(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

doRecvmsg(sock, bufsize, *args)[source]
class test.test_socket.RecvmsgIntoRFC3542AncillaryUDP6Test(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoMixin, test.test_socket.RFC3542AncillaryTest, test.test_socket.SendrecvmsgUDP6TestBase

class test.test_socket.RecvmsgIntoSCMRightsStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoMixin, test.test_socket.SCMRightsTest, test.test_socket.SendrecvmsgUnixStreamTestBase

class test.test_socket.RecvmsgIntoSCTPStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoTests, test.test_socket.RecvmsgGenericStreamTests, test.test_socket.SendrecvmsgSCTPStreamTestBase

testRecvmsgEOF()[source]
class test.test_socket.RecvmsgIntoTCPTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoTests, test.test_socket.RecvmsgGenericStreamTests, test.test_socket.SendrecvmsgTCPTestBase

class test.test_socket.RecvmsgIntoTests(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoMixin, test.test_socket.RecvmsgGenericTests

testRecvmsgIntoArray()[source]
testRecvmsgIntoBadArgs()[source]
testRecvmsgIntoGenerator()[source]
testRecvmsgIntoScatter()[source]
class test.test_socket.RecvmsgIntoUDP6Test(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoTests, test.test_socket.SendrecvmsgUDP6TestBase

class test.test_socket.RecvmsgIntoUDPTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoTests, test.test_socket.SendrecvmsgUDPTestBase

class test.test_socket.RecvmsgIntoUnixStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgIntoTests, test.test_socket.RecvmsgGenericStreamTests, test.test_socket.SendrecvmsgUnixStreamTestBase

class test.test_socket.RecvmsgRFC3542AncillaryUDP6Test(*args, **kwargs)[source]

Bases: test.test_socket.RFC3542AncillaryTest, test.test_socket.SendrecvmsgUDP6TestBase

class test.test_socket.RecvmsgSCMRightsStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.SCMRightsTest, test.test_socket.SendrecvmsgUnixStreamTestBase

class test.test_socket.RecvmsgSCTPStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgTests, test.test_socket.RecvmsgGenericStreamTests, test.test_socket.SendrecvmsgSCTPStreamTestBase

testRecvmsgEOF()[source]
class test.test_socket.RecvmsgTCPTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgTests, test.test_socket.RecvmsgGenericStreamTests, test.test_socket.SendrecvmsgTCPTestBase

class test.test_socket.RecvmsgTests(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgGenericTests

testRecvmsgBadArgs()[source]
class test.test_socket.RecvmsgUDP6Test(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgTests, test.test_socket.SendrecvmsgUDP6TestBase

class test.test_socket.RecvmsgUDPTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgTests, test.test_socket.SendrecvmsgUDPTestBase

class test.test_socket.RecvmsgUnixStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.RecvmsgTests, test.test_socket.RecvmsgGenericStreamTests, test.test_socket.SendrecvmsgUnixStreamTestBase

class test.test_socket.SCMRightsTest(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgServerTimeoutBase

badfd = -21845
checkFDs(fds)[source]
checkRecvmsgFDs(numfds, result, maxcmsgs=1, ignoreflags=0)[source]
checkTruncatedArray(ancbuf, maxdata, mindata=0)[source]
checkTruncatedHeader(result, ignoreflags=0)[source]
closeRecvmsgFDs(recvmsg_result)[source]
createAndSendFDs(n)[source]
newFDs(n)[source]
registerRecvmsgResult(result)[source]
sendAncillaryIfPossible(msg, ancdata)[source]
testCmsgTrunc0()[source]
testCmsgTrunc1()[source]
testCmsgTrunc2Int()[source]
testCmsgTruncLen0()[source]
testCmsgTruncLen0Minus1()[source]
testCmsgTruncLen0Plus1()[source]
testCmsgTruncLen1()[source]
testCmsgTruncLen2Minus1()[source]
testCmsgTruncNoBufSize()[source]
testFDPassCMSG_LEN()[source]
testFDPassCMSG_SPACE()[source]
testFDPassEmpty()[source]
testFDPassPartialInt()[source]
testFDPassPartialIntInMiddle()[source]
testFDPassSeparate()[source]
testFDPassSeparateMinSpace()[source]
testFDPassSimple()[source]
testMultipleFDPass()[source]
class test.test_socket.SCTPStreamBase(methodName='runTest')[source]

Bases: test.test_socket.InetTestBase

Base class for SCTP tests in one-to-one (SOCK_STREAM) mode.

newSocket()[source]
class test.test_socket.SendmsgConnectionlessTests(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgTests

testSendmsgNoDestAddr()[source]
class test.test_socket.SendmsgSCTPStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgStreamTests, test.test_socket.SendrecvmsgSCTPStreamTestBase

class test.test_socket.SendmsgStreamTests(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgTests

testSendmsgDontWait()[source]
testSendmsgExplicitNoneAddr()[source]
testSendmsgTimeout()[source]
class test.test_socket.SendmsgTCPTest(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgStreamTests, test.test_socket.SendrecvmsgTCPTestBase

class test.test_socket.SendmsgTests(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgServerTimeoutBase

testSendmsg()[source]
testSendmsgAfterClose()[source]
testSendmsgAncillaryGenerator()[source]
testSendmsgArray()[source]
testSendmsgBadArgs()[source]
testSendmsgBadCmsg()[source]
testSendmsgBadMultiCmsg()[source]
testSendmsgDataGenerator()[source]
testSendmsgExcessCmsgReject()[source]
testSendmsgGather()[source]
class test.test_socket.SendmsgUDP6Test(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgConnectionlessTests, test.test_socket.SendrecvmsgUDP6TestBase

class test.test_socket.SendmsgUDPTest(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgConnectionlessTests, test.test_socket.SendrecvmsgUDPTestBase

class test.test_socket.SendmsgUnixStreamTest(*args, **kwargs)[source]

Bases: test.test_socket.SendmsgStreamTests, test.test_socket.SendrecvmsgUnixStreamTestBase

class test.test_socket.SendrecvmsgBase(*args, **kwargs)[source]

Bases: test.test_socket.ThreadSafeCleanupTestCase

checkFlags(flags, eor=None, checkset=0, checkunset=0, ignore=0)[source]
checkRecvmsgAddress(addr1, addr2)[source]
doRecvmsg(sock, bufsize, *args)[source]
fail_timeout = 3.0
msg_flags_common_set = 0
msg_flags_common_unset = 513
msg_flags_eor_indicator = 0
msg_flags_non_eor_indicator = 0
name = 'MSG_OOB'
registerRecvmsgResult(result)[source]
sendToServer(msg)[source]
sendmsgToServer(*args)[source]
sendmsg_to_server_defaults = ()
setUp()[source]
class test.test_socket.SendrecvmsgConnectedBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

checkRecvmsgAddress(addr1, addr2)[source]
cli_sock
serv_sock
class test.test_socket.SendrecvmsgConnectionlessBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

cli_sock
sendToServer(msg)[source]
sendmsg_to_server_defaults
serv_sock
class test.test_socket.SendrecvmsgDgramFlagsBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

msg_flags_non_eor_indicator
class test.test_socket.SendrecvmsgSCTPFlagsBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

msg_flags_eor_indicator
class test.test_socket.SendrecvmsgSCTPStreamTestBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgSCTPFlagsBase, test.test_socket.SendrecvmsgConnectedBase, test.test_socket.ConnectedStreamTestMixin, test.test_socket.SCTPStreamBase

class test.test_socket.SendrecvmsgServerTimeoutBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgBase

setUp()[source]
class test.test_socket.SendrecvmsgTCPTestBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgConnectedBase, test.test_socket.ConnectedStreamTestMixin, test.test_socket.TCPTestBase

class test.test_socket.SendrecvmsgUDP6TestBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgDgramFlagsBase, test.test_socket.SendrecvmsgConnectionlessBase, test.test_socket.ThreadedSocketTestMixin, test.test_socket.UDP6TestBase

checkRecvmsgAddress(addr1, addr2)[source]
class test.test_socket.SendrecvmsgUDPTestBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgDgramFlagsBase, test.test_socket.SendrecvmsgConnectionlessBase, test.test_socket.ThreadedSocketTestMixin, test.test_socket.UDPTestBase

class test.test_socket.SendrecvmsgUnixStreamTestBase(*args, **kwargs)[source]

Bases: test.test_socket.SendrecvmsgConnectedBase, test.test_socket.ConnectedStreamTestMixin, test.test_socket.UnixStreamBase

class test.test_socket.SmallBufferedFileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.FileObjectClassTestCase

bufsize = 2
class test.test_socket.SocketCANTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

To be able to run this test, a vcan0 CAN interface can be created with the following commands: # modprobe vcan # ip link add dev vcan0 type vcan # ifconfig vcan0 up

bcm_cmd_msg_fmt = '@3I4l2Ixxxx'
bufsize = 128

The CAN frame structure is defined in <linux/can.h>:

struct can_frame {
canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags / __u8 can_dlc; / data length code: 0 .. 8 */ __u8 data[8] __attribute__((aligned(8)));

};

can_frame_fmt = '=IB3x8s'
can_frame_size = 16

The Broadcast Management Command frame structure is defined in <linux/can/bcm.h>:

struct bcm_msg_head {
__u32 opcode; __u32 flags; __u32 count; struct timeval ival1, ival2; canid_t can_id; __u32 nframes; struct can_frame frames[0];

}

bcm_msg_head must be 8 bytes aligned because of the frames member (see struct can_frame definition). Must use native not standard types for packing.

interface = 'vcan0'
setUp()[source]
class test.test_socket.SocketConnectedTest(methodName='runTest')[source]

Bases: test.test_socket.ThreadedTCPSocketTest

Socket tests for client-server connection.

self.cli_conn is a client socket connected to the server. The setUp() method guarantees that it is connected to the server.

clientSetUp()[source]
clientTearDown()[source]
setUp()[source]
tearDown()[source]
class test.test_socket.SocketListeningTestMixin(methodName='runTest')[source]

Bases: test.test_socket.SocketTestBase

Mixin to listen on the server socket.

setUp()[source]
class test.test_socket.SocketPairTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
setUp()[source]
tearDown()[source]
class test.test_socket.SocketRDSTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

To be able to run this test, the rds kernel module must be loaded: # modprobe rds

bufsize = 8192
setUp()[source]
class test.test_socket.SocketTCPTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_socket.SocketTestBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

A base class for socket tests.

Subclasses must provide methods newSocket() to return a new socket and bindSock(sock) to bind it to an unused address.

Creates a socket self.serv and sets self.serv_addr to its address.

bindServer()[source]

Bind server socket and set self.serv_addr to its address.

setUp()[source]
tearDown()[source]
class test.test_socket.SocketUDPTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_socket.TCPCloserTest(methodName='runTest')[source]

Bases: test.test_socket.ThreadedTCPSocketTest

testClose()[source]
class test.test_socket.TCPTestBase(methodName='runTest')[source]

Bases: test.test_socket.InetTestBase

Base class for TCP-over-IPv4 tests.

newSocket()[source]
class test.test_socket.TCPTimeoutTest(methodName='runTest')[source]

Bases: test.test_socket.SocketTCPTest

testInterruptedTimeout()[source]
testTCPTimeout()[source]
testTimeoutZero()[source]
class test.test_socket.TIPCTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testRDM()[source]
class test.test_socket.TIPCThreadableTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_socket.ThreadableTest

clientSetUp()[source]
setUp()[source]
testStream()[source]
class test.test_socket.TestExceptions(methodName='runTest')[source]

Bases: unittest.case.TestCase

testExceptionTree()[source]
class test.test_socket.TestLinuxAbstractNamespace(methodName='runTest')[source]

Bases: unittest.case.TestCase

UNIX_PATH_MAX = 108
testLinuxAbstractNamespace()[source]
testMaxName()[source]
testNameOverflow()[source]
testStrName()[source]
class test.test_socket.TestSocketSharing(methodName='runTest')[source]

Bases: test.test_socket.SocketTCPTest

compareSockets(org, other)[source]
classmethod remoteProcessServer(q)[source]
testShare()[source]
testShareLength()[source]
testShareLocal()[source]
testTypes()[source]
class test.test_socket.TestUnixDomain(methodName='runTest')[source]

Bases: unittest.case.TestCase

bind(sock, path)[source]
encoded(path)[source]
setUp()[source]
tearDown()[source]
testBytesAddr()[source]
testStrAddr()[source]
testSurrogateescapeBind()[source]
testUnencodableAddr()[source]
class test.test_socket.ThreadSafeCleanupTestCase(*args, **kwargs)[source]

Bases: unittest.case.TestCase

Subclass of unittest.TestCase with thread-safe cleanup methods.

This subclass protects the addCleanup() and doCleanups() methods with a recursive lock.

addCleanup(*args, **kwargs)[source]
doCleanups(*args, **kwargs)[source]
class test.test_socket.ThreadableTest[source]

Bases: object

Threadable Test class

The ThreadableTest class makes it easy to create a threaded client/server pair from an existing unit test. To create a new threaded class from an existing unit test, use multiple inheritance:

class NewClass (OldClass, ThreadableTest):
pass

This class defines two new fixture functions with obvious purposes for overriding:

clientSetUp () clientTearDown ()

Any new test functions within the class must then define tests in pairs, where the test name is preceeded with a ‘_’ to indicate the client portion of the test. Ex:

def testFoo(self):
# Server portion
def _testFoo(self):
# Client portion

Any exceptions raised by the clients during their tests are caught and transferred to the main thread to alert the testing framework.

Note, the server setup function cannot call any blocking functions that rely on the client thread during setup, unless serverExplicitReady() is called just before the blocking call (such as in setting up a client/server connection and performing the accept() in setUp().

clientRun(test_func)[source]
clientSetUp()[source]
clientTearDown()[source]
serverExplicitReady()[source]

This method allows the server to explicitly indicate that it wants the client thread to proceed. This is useful if the server is about to execute a blocking routine that is dependent upon the client thread during its setup routine.

class test.test_socket.ThreadedCANSocketTest(methodName='runTest')[source]

Bases: test.test_socket.SocketCANTest, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
class test.test_socket.ThreadedRDSSocketTest(methodName='runTest')[source]

Bases: test.test_socket.SocketRDSTest, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
class test.test_socket.ThreadedSocketTestMixin(*args, **kwargs)[source]

Bases: test.test_socket.ThreadSafeCleanupTestCase, test.test_socket.SocketTestBase, test.test_socket.ThreadableTest

Mixin to add client socket and allow client/server tests.

Client socket is self.cli and its address is self.cli_addr. See ThreadableTest for usage information.

bindClient()[source]

Bind client socket and set self.cli_addr to its address.

clientSetUp()[source]
clientTearDown()[source]
newClientSocket()[source]

Return a new socket for use as client.

class test.test_socket.ThreadedTCPSocketTest(methodName='runTest')[source]

Bases: test.test_socket.SocketTCPTest, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
class test.test_socket.ThreadedUDPSocketTest(methodName='runTest')[source]

Bases: test.test_socket.SocketUDPTest, test.test_socket.ThreadableTest

clientSetUp()[source]
clientTearDown()[source]
class test.test_socket.UDP6TestBase(methodName='runTest')[source]

Bases: test.test_socket.Inet6TestBase

Base class for UDP-over-IPv6 tests.

newSocket()[source]
class test.test_socket.UDPTestBase(methodName='runTest')[source]

Bases: test.test_socket.InetTestBase

Base class for UDP-over-IPv4 tests.

newSocket()[source]
class test.test_socket.UDPTimeoutTest(methodName='runTest')[source]

Bases: test.test_socket.SocketUDPTest

testTimeoutZero()[source]
testUDPTimeout()[source]
class test.test_socket.UnbufferedFileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.FileObjectClassTestCase

Repeat the tests from FileObjectClassTestCase with bufsize==0.

In this case (and in this case only), it should be possible to create a file object, read a line from it, create another file object, read another line from it, without loss of data in the first file object’s buffer. Note that http.client relies on this when reading multiple requests from the same socket.

bufsize = 0
testMakefileClose()[source]
testMakefileCloseSocketDestroy()[source]
testSmallReadNonBlocking()[source]
testUnbufferedReadline()[source]
testWriteNonBlocking()[source]
class test.test_socket.UnicodeReadFileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.FileObjectClassTestCase

Tests for socket.makefile() in text mode (rather than binary)

newline = ''
read_mode = 'r'
read_msg = 'Michael Gilfix was hereሴ\r\n'
write_mode = 'wb'
write_msg = b'Michael Gilfix was here\xe1\x88\xb4\r\n'
class test.test_socket.UnicodeReadWriteFileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.FileObjectClassTestCase

Tests for socket.makefile() in text mode (rather than binary)

newline = ''
read_mode = 'r'
read_msg = 'Michael Gilfix was hereሴ\r\n'
write_mode = 'w'
write_msg = 'Michael Gilfix was hereሴ\r\n'
class test.test_socket.UnicodeWriteFileObjectClassTestCase(methodName='runTest')[source]

Bases: test.test_socket.FileObjectClassTestCase

Tests for socket.makefile() in text mode (rather than binary)

newline = ''
read_mode = 'rb'
read_msg = b'Michael Gilfix was here\xe1\x88\xb4\r\n'
write_mode = 'w'
write_msg = 'Michael Gilfix was hereሴ\r\n'
class test.test_socket.UnixSocketTestBase(methodName='runTest')[source]

Bases: test.test_socket.SocketTestBase

Base class for Unix-domain socket tests.

bindSock(sock)[source]
setUp()[source]
class test.test_socket.UnixStreamBase(methodName='runTest')[source]

Bases: test.test_socket.UnixSocketTestBase

Base class for Unix-domain SOCK_STREAM tests.

newSocket()[source]
test.test_socket.isTipcAvailable()[source]

Check if the TIPC module is loaded

The TIPC module is not loaded automatically on Ubuntu and probably other Linux distros.

test.test_socket.requireAttrs(obj, *attributes)[source]

Skip decorated test if obj is missing any of the given attributes.

Sets client_skip attribute as skipWithClientIf() does.

test.test_socket.requireSocket(*args)[source]

Skip decorated test if a socket cannot be created with given arguments.

When an argument is given as a string, will use the value of that attribute of the socket module, or skip the test if it doesn’t exist. Sets client_skip attribute as skipWithClientIf() does.

test.test_socket.skipWithClientIf(condition, reason)[source]

Skip decorated test if condition is true, add client_skip decorator.

If the decorated object is not a class, sets its attribute “client_skip” to a decorator which will return an empty function if the test is to be skipped, or the original function if it is not. This can be used to avoid running the client part of a skipped test when using ThreadableTest.

test.test_socket.test_main()[source]

test.test_socketserver module

Test suite for socketserver.

class test.test_socketserver.SocketServerTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test all socket servers.

dgram_examine(proto, addr)[source]
make_server(addr, svrcls, hdlrbase)[source]
mocked_select_module()[source]

Mocks the select.select() call to raise EINTR for first call

pickaddr(proto)[source]
run_server(svrcls, hdlrbase, testfunc)[source]
setUp()[source]
stream_examine(proto, addr)[source]
tearDown()[source]
test_ForkingTCPServer()[source]
test_ForkingUDPServer()[source]
test_ForkingUnixStreamServer()[source]
test_InterruptServerSelectCall()[source]
test_TCPServer()[source]
test_ThreadingTCPServer()[source]
test_ThreadingUDPServer()[source]
test_ThreadingUnixStreamServer()[source]
test_UDPServer()[source]
test_UnixStreamServer()[source]
test_shutdown()[source]
test.test_socketserver.receive(sock, n, timeout=20)[source]
test.test_socketserver.signal_alarm(n)[source]

Call signal.alarm when it exists (i.e. not on Windows).

test.test_socketserver.simple_subprocess(testcase)[source]
test.test_socketserver.test_main()[source]

test.test_sort module

class test.test_sort.TestBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

testStressfully()[source]
class test.test_sort.TestBugs(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug453523()[source]
test_undetected_mutation()[source]
class test.test_sort.TestDecorateSortUndecorate(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_baddecorator()[source]
test_decorated()[source]
test_key_with_exception()[source]
test_key_with_mutating_del()[source]
test_key_with_mutating_del_and_exception()[source]
test_key_with_mutation()[source]
test_reverse()[source]
test_reverse_stability()[source]
test_stability()[source]
test.test_sort.check(tag, expected, raw, compare=None)[source]
test.test_sort.test_main(verbose=None)[source]

test.test_source_encoding module

class test.test_source_encoding.SourceEncodingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_20731()[source]
test_bad_coding()[source]
test_bad_coding2()[source]
test_compilestring()[source]
test_error_from_string()[source]
test_error_message()[source]
test_exec_valid_coding()[source]
test_file_parse()[source]
test_issue2301()[source]
test_issue3297()[source]
test_issue4626()[source]
test_issue7820()[source]
test_pep263()[source]
verify_bad_module(module_name)[source]

test.test_spwd module

test.test_sqlite module

test.test_sqlite.load_tests(*args)[source]

test.test_ssl module

class test.test_ssl.AsyncoreEchoServer(certfile)[source]

Bases: threading.Thread

class EchoServer(certfile)[source]

Bases: asyncore.dispatcher

class ConnectionHandler(conn, certfile)[source]

Bases: asyncore.dispatcher_with_send

handle_close()[source]
handle_error()[source]
handle_read()[source]
readable()[source]
AsyncoreEchoServer.EchoServer.handle_accepted(sock_obj, addr)[source]
AsyncoreEchoServer.EchoServer.handle_error()[source]
AsyncoreEchoServer.run()[source]
AsyncoreEchoServer.start(flag=None)[source]
AsyncoreEchoServer.stop()[source]
class test.test_ssl.BasicSocketTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_DER_to_PEM()[source]
test_asn1object()[source]
test_constants()[source]
test_dealloc_warn()[source]
test_enum_certificates()[source]
test_enum_crls()[source]
test_errors()[source]
test_get_default_verify_paths()[source]
test_match_hostname()[source]
test_openssl_version()[source]
test_parse_cert()[source]
test_parse_cert_CVE_2013_4238()[source]
test_purpose_enum()[source]
test_random()[source]
test_random_fork()[source]
test_refcycle()[source]
test_server_side()[source]
test_timeout()[source]
test_tls_unique_channel_binding()[source]
test_unknown_channel_binding()[source]
test_unsupported_dtls()[source]
test_wrapped_unconnected()[source]
class test.test_ssl.ContextTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test__create_stdlib_context()[source]
test_cert_store_stats()[source]
test_check_hostname()[source]
test_ciphers()[source]
test_constructor()[source]
test_create_default_context()[source]
test_get_ca_certs()[source]
test_load_cert_chain()[source]
test_load_default_certs()[source]
test_load_dh_params()[source]
test_load_verify_cadata()[source]
test_load_verify_locations()[source]
test_options()[source]
test_protocol()[source]
test_session_stats()[source]
test_set_default_verify_paths()[source]
test_set_ecdh_curve()[source]
test_sni_callback()[source]
test_sni_callback_refcycle()[source]
test_verify_flags()[source]
test_verify_mode()[source]
class test.test_ssl.NetworkedTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_algorithms()[source]
test_ciphers()[source]
test_connect()[source]
test_connect_cadata()[source]
test_connect_capath()[source]
test_connect_ex()[source]
test_connect_ex_error()[source]
test_connect_with_context()[source]
test_context_setget()[source]
test_get_ca_certs_capath()[source]
test_get_server_certificate()[source]
test_makefile_close()[source]
test_non_blocking_connect_ex()[source]
test_non_blocking_handshake()[source]
test_timeout_connect_ex()[source]
class test.test_ssl.SSLErrorTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_lib_reason()[source]
test_str()[source]
test_subclass()[source]
class test.test_ssl.ThreadedEchoServer(certificate=None, ssl_version=None, certreqs=None, cacerts=None, chatty=True, connectionchatty=False, starttls_server=False, npn_protocols=None, ciphers=None, context=None)[source]

Bases: threading.Thread

class ConnectionHandler(server, connsock, addr)[source]

Bases: threading.Thread

A mildly complicated class, because we want it to work both with and without the SSL wrapper around the socket connection, so that we can test the STARTTLS functionality.

close()[source]
read()[source]
run()[source]
wrap_conn()[source]
write(bytes)[source]
ThreadedEchoServer.run()[source]
ThreadedEchoServer.start(flag=None)[source]
ThreadedEchoServer.stop()[source]
class test.test_ssl.ThreadedTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_common_name(stats, name)[source]
sni_contexts()[source]
test_asyncore_server()[source]

Check the example asyncore integration.

test_check_hostname()[source]
test_compression()[source]
test_compression_disabled()[source]
test_crl_check()[source]
test_default_ciphers()[source]
test_default_ecdh_curve()[source]
test_dh_params()[source]
test_do_handshake_enotconn()[source]
test_echo()[source]

Basic test of an SSL client connecting to a server

test_empty_cert()[source]

Connecting with an empty cert file

test_getpeercert()[source]
test_getpeercert_enotconn()[source]
test_handshake_timeout()[source]
test_malformed_cert()[source]

Connecting with a badly formatted certificate (syntax error)

test_malformed_key()[source]

Connecting with a badly formatted key (syntax error)

test_nonexisting_cert()[source]

Connecting with a non-existing cert file

test_npn_protocols()[source]
test_protocol_sslv2()[source]

Connecting to an SSLv2 server with various client options

test_protocol_sslv23()[source]

Connecting to an SSLv23 server with various client options

test_protocol_sslv3()[source]

Connecting to an SSLv3 server with various client options

test_protocol_tlsv1()[source]

Connecting to a TLSv1 server with various client options

test_protocol_tlsv1_1()[source]

Connecting to a TLSv1.1 server with various client options. Testing against older TLS versions.

test_protocol_tlsv1_2()[source]

Connecting to a TLSv1.2 server with various client options. Testing against older TLS versions.

test_read_write_after_close_raises_valuerror()[source]
test_recv_send()[source]

Test recv(), send() and friends.

test_rude_shutdown()[source]

A brutal shutdown of an SSL server should raise an OSError in the client when attempting handshake.

test_selected_npn_protocol()[source]
test_server_accept()[source]
test_sni_callback()[source]
test_sni_callback_alert()[source]
test_sni_callback_raising()[source]
test_sni_callback_wrong_return_type()[source]
test_socketserver()[source]

Using a SocketServer to create and manage SSL connections.

test_starttls()[source]

Switching from clear text to encrypted and back again.

test_tls_unique_channel_binding()[source]

Test tls-unique channel binding.

test.test_ssl.asn1time(cert_time)[source]
test.test_ssl.bad_cert_test(certfile)[source]

Launch a server with CERT_REQUIRED, and check that trying to connect to it with the given client certificate fails.

test.test_ssl.can_clear_options()[source]
test.test_ssl.data_file(*name)[source]
test.test_ssl.handle_error(prefix)[source]
test.test_ssl.have_verify_flags()[source]
test.test_ssl.no_sslv2_implies_sslv3_hello()[source]
test.test_ssl.server_params_test(client_context, server_context, indata=b'FOO\n', chatty=True, connectionchatty=False, sni_name=None)[source]

Launch a server, connect a client to it and try various reads and writes.

test.test_ssl.skip_if_broken_ubuntu_ssl(func)[source]
test.test_ssl.test_main(verbose=False)[source]
test.test_ssl.try_protocol_combo(server_protocol, client_protocol, expect_success, certsreqs=None, server_options=0, client_options=0)[source]

test.test_startfile module

class test.test_startfile.TestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_empty()[source]
test_nonexisting()[source]
test.test_startfile.test_main()[source]

test.test_stat module

class test.test_stat.TestFilemode[source]

Bases: object

assertS_IS(name, mode)[source]
file_flags = {'SF_IMMUTABLE', 'UF_NODUMP', 'UF_OPAQUE', 'SF_SNAPSHOT', 'UF_IMMUTABLE', 'UF_HIDDEN', 'UF_NOUNLINK', 'UF_COMPRESSED', 'SF_APPEND', 'UF_APPEND', 'SF_NOUNLINK', 'SF_ARCHIVED'}
format_funcs = {'S_ISLNK', 'S_ISBLK', 'S_ISSOCK', 'S_ISREG', 'S_ISFIFO', 'S_ISDIR', 'S_ISCHR'}
formats = {'S_IFIFO', 'S_IFDIR', 'S_IFREG', 'S_IFCHR', 'S_IFLNK', 'S_IFSOCK', 'S_IFBLK'}
get_mode(fname='@test_6476_tmp', lstat=True)[source]
permission_bits = {'S_IROTH': 4, 'S_ISUID': 2048, 'S_IRWXG': 56, 'S_ISGID': 1024, 'S_IEXEC': 64, 'S_ENFMT': 1024, 'S_IRWXU': 448, 'S_IRWXO': 7, 'S_IRGRP': 32, 'S_IXGRP': 8, 'S_ISVTX': 512, 'S_IWUSR': 128, 'S_IRUSR': 256, 'S_IXUSR': 64, 'S_IWRITE': 128, 'S_IREAD': 256, 'S_IWGRP': 16, 'S_IXOTH': 1, 'S_IWOTH': 2}
setUp()[source]
stat_struct = {'ST_INO': 1, 'ST_ATIME': 7, 'ST_DEV': 2, 'ST_MODE': 0, 'ST_MTIME': 8, 'ST_UID': 4, 'ST_CTIME': 9, 'ST_GID': 5, 'ST_NLINK': 3, 'ST_SIZE': 6}
statmod = None
tearDown()
test_devices()[source]
test_directory()[source]
test_fifo()[source]
test_mode()[source]
test_module_attributes()[source]
class test.test_stat.TestFilemodeCStat(methodName='runTest')[source]

Bases: test.test_stat.TestFilemode, unittest.case.TestCase

format_funcs = {'S_ISDOOR', 'S_ISLNK', 'S_ISFIFO', 'S_ISDIR', 'S_ISPORT', 'S_ISBLK', 'S_ISSOCK', 'S_ISREG', 'S_ISCHR', 'S_ISWHT'}
formats = {'S_IFCHR', 'S_IFLNK', 'S_IFIFO', 'S_IFSOCK', 'S_IFPORT', 'S_IFWHT', 'S_IFDIR', 'S_IFDOOR', 'S_IFBLK', 'S_IFREG'}
statmod = <module 'stat' from 'C:\\Python34\\lib\\stat.py'>
class test.test_stat.TestFilemodePyStat(methodName='runTest')[source]

Bases: test.test_stat.TestFilemode, unittest.case.TestCase

statmod = <module 'stat' from 'C:\\Python34\\lib\\stat.py'>

test.test_statistics module

Test suite for statistics module, including helper NumericTestCase and approx_equal function.

class test.test_statistics.ApproxEqualExactTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

do_exactly_equal_test(x, tol, rel)[source]
test_exactly_equal_absolute()[source]
test_exactly_equal_absolute_decimals()[source]
test_exactly_equal_both()[source]
test_exactly_equal_decimals()[source]
test_exactly_equal_floats()[source]
test_exactly_equal_fractions()[source]
test_exactly_equal_ints()[source]
test_exactly_equal_relative()[source]
class test.test_statistics.ApproxEqualInexactTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

do_approx_equal_abs_test(x, delta)[source]
do_approx_equal_rel_test(x, delta)[source]
do_check_both(a, b, tol, rel, tol_flag, rel_flag)[source]
test_approx_equal_absolute_decimals()[source]
test_approx_equal_absolute_floats()[source]
test_approx_equal_absolute_fractions()[source]
test_approx_equal_absolute_ints()[source]
test_approx_equal_both1()[source]
test_approx_equal_both2()[source]
test_approx_equal_both3()[source]
test_approx_equal_both4()[source]
test_approx_equal_relative_decimals()[source]
test_approx_equal_relative_floats()[source]
test_approx_equal_relative_fractions()[source]
test_approx_equal_relative_ints()[source]
test_cross_zero()[source]
class test.test_statistics.ApproxEqualSpecialsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decimal_zeroes()[source]
test_float_zeroes()[source]
test_inf()[source]
test_nan()[source]
class test.test_statistics.ApproxEqualSymmetryTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

do_relative_symmetry(a, b)[source]
do_symmetry_test(a, b, tol, rel)[source]
test_relative_symmetry()[source]
test_symmetry()[source]
class test.test_statistics.ApproxEqualUnequalTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

do_exactly_unequal_test(x)[source]
test_exactly_unequal_decimals()[source]
test_exactly_unequal_floats()[source]
test_exactly_unequal_fractions()[source]
test_exactly_unequal_ints()[source]
class test.test_statistics.AverageMixin[source]

Bases: test.test_statistics.UnivariateCommonMixin

test_repeated_single_value()[source]
test_single_value()[source]
class test.test_statistics.CheckTypeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_add_to_allowed()[source]
test_allowed()[source]
test_not_allowed()[source]
class test.test_statistics.DecimalToRatioTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testSpecialsRaise()[source]
test_negative_exponent()[source]
test_positive_exponent()[source]
test_regression_20536()[source]
test_sign()[source]
class test.test_statistics.DocTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_doc_tests()[source]
class test.test_statistics.ExactRatioTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decimal()[source]
test_float()[source]
test_fraction()[source]
test_int()[source]
class test.test_statistics.GlobalsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

expected_metadata = ['__doc__', '__all__']
module = <module 'statistics' from 'C:\\Python34\\lib\\statistics.py'>
test_check_all()[source]
test_meta()[source]
class test.test_statistics.NumericTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit test class for numeric work.

This subclasses TestCase. In addition to the standard method TestCase.assertAlmostEqual, assertApproxEqual is provided.

assertApproxEqual(first, second, tol=None, rel=None, msg=None)[source]

Test passes if first and second are approximately equal.

This test passes if first and second are equal to within tol, an absolute error, or rel, a relative error.

If either tol or rel are None or not given, they default to test attributes of the same name (by default, 0).

The objects may be either numbers, or sequences of numbers. Sequences are tested element-by-element.

>>> class MyTest(NumericTestCase):
...     def test_number(self):
...         x = 1.0/6
...         y = sum([x]*6)
...         self.assertApproxEqual(y, 1.0, tol=1e-15)
...     def test_sequence(self):
...         a = [1.001, 1.001e-10, 1.001e10]
...         b = [1.0, 1e-10, 1e10]
...         self.assertApproxEqual(a, b, rel=1e-3)
...
>>> import unittest
>>> from io import StringIO  # Suppress test runner output.
>>> suite = unittest.TestLoader().loadTestsFromTestCase(MyTest)
>>> unittest.TextTestRunner(stream=StringIO()).run(suite)
<unittest.runner.TextTestResult run=2 errors=0 failures=0>
rel = 0
tol = 0
class test.test_statistics.StatisticsErrorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_has_exception()[source]
class test.test_statistics.SumSpecialValues(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase

check_infinity(x, inf)[source]

Check x is an infinity of the same type and sign as inf.

do_test_inf(inf)[source]
test_decimal_inf()[source]
test_decimal_mismatched_infs_to_nan()[source]
test_decimal_snan_raises()[source]
test_float_inf()[source]
test_float_mismatched_infs()[source]
test_nan()[source]
class test.test_statistics.SumTortureTest(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase

test_torture()[source]
class test.test_statistics.TestApproxEqualErrors(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_rel()[source]
test_bad_tol()[source]
class test.test_statistics.TestMean(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase, test.test_statistics.AverageMixin, test.test_statistics.UnivariateTypeMixin

setUp()[source]
test_big_data()[source]
test_decimals()[source]
test_doubled_data()[source]
test_floats()[source]
test_fractions()[source]
test_inf()[source]
test_ints()[source]
test_mismatched_infs()[source]
test_nan()[source]
test_regression_20561()[source]
test_torture_pep()[source]
class test.test_statistics.TestMedian(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase, test.test_statistics.AverageMixin

prepare_data()[source]

Overload method from UnivariateCommonMixin.

setUp()[source]
test_even_decimals()[source]
test_even_fractions()[source]
test_even_ints()[source]
test_odd_decimals()[source]
test_odd_fractions()[source]
test_odd_ints()[source]
class test.test_statistics.TestMedianDataType(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase, test.test_statistics.UnivariateTypeMixin

prepare_data()[source]
setUp()[source]
class test.test_statistics.TestMedianGrouped(methodName='runTest')[source]

Bases: test.test_statistics.TestMedian

setUp()[source]
test_even_decimals()[source]
test_even_fractions()[source]
test_even_number_repeated()[source]
test_interval()[source]
test_odd_decimals()[source]
test_odd_fractions()[source]
test_odd_number_repeated()[source]
test_repeated_single_value()[source]
class test.test_statistics.TestMedianHigh(methodName='runTest')[source]

Bases: test.test_statistics.TestMedian, test.test_statistics.UnivariateTypeMixin

setUp()[source]
test_even_decimals()[source]
test_even_fractions()[source]
test_even_ints()[source]
class test.test_statistics.TestMedianLow(methodName='runTest')[source]

Bases: test.test_statistics.TestMedian, test.test_statistics.UnivariateTypeMixin

setUp()[source]
test_even_decimals()[source]
test_even_fractions()[source]
test_even_ints()[source]
class test.test_statistics.TestMode(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase, test.test_statistics.AverageMixin, test.test_statistics.UnivariateTypeMixin

prepare_data()[source]

Overload method from UnivariateCommonMixin.

setUp()[source]
test_bimodal_data()[source]
test_counter_data()[source]
test_discrete_data()[source]
test_nominal_data()[source]
test_none_data()[source]
test_range_data()[source]
test_unique_data_failure()[source]
class test.test_statistics.TestNumericTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

do_test(args)[source]
generate_substrings(first, second, tol, rel, idx)[source]

Return substrings we expect to see in error messages.

test_error_msg_numeric()[source]
test_error_msg_sequence()[source]
test_numerictestcase_is_testcase()[source]
class test.test_statistics.TestPStdev(methodName='runTest')[source]

Bases: test.test_statistics.VarianceStdevMixin, test.test_statistics.NumericTestCase

setUp()[source]
test_compare_to_variance()[source]
class test.test_statistics.TestPVariance(methodName='runTest')[source]

Bases: test.test_statistics.VarianceStdevMixin, test.test_statistics.NumericTestCase, test.test_statistics.UnivariateTypeMixin

setUp()[source]
test_decimals()[source]
test_exact_uniform()[source]
test_fractions()[source]
test_ints()[source]
class test.test_statistics.TestStdev(methodName='runTest')[source]

Bases: test.test_statistics.VarianceStdevMixin, test.test_statistics.NumericTestCase

setUp()[source]
test_compare_to_variance()[source]
test_single_value()[source]
class test.test_statistics.TestSum(methodName='runTest')[source]

Bases: test.test_statistics.NumericTestCase, test.test_statistics.UnivariateCommonMixin, test.test_statistics.UnivariateTypeMixin

setUp()[source]
test_bytes_fail()[source]
test_compare_with_math_fsum()[source]
test_decimals()[source]
test_empty_data()[source]
test_floats()[source]
test_fractions()[source]
test_ints()[source]
test_mixed_sum()[source]
test_start_argument()[source]
test_strings_fail()[source]
class test.test_statistics.TestVariance(methodName='runTest')[source]

Bases: test.test_statistics.VarianceStdevMixin, test.test_statistics.NumericTestCase, test.test_statistics.UnivariateTypeMixin

setUp()[source]
test_decimals()[source]
test_fractions()[source]
test_ints()[source]
test_single_value()[source]
class test.test_statistics.UnivariateCommonMixin[source]

Bases: object

check_for_type_error(*args)[source]
prepare_data()[source]

Return int data for various tests.

test_bad_arg_types()[source]
test_empty_data()[source]
test_no_args()[source]
test_no_inplace_modifications()[source]
test_order_doesnt_matter()[source]
test_range_data()[source]
test_type_of_data_collection()[source]
test_type_of_data_element()[source]
class test.test_statistics.UnivariateTypeMixin[source]

Bases: object

Mixin class for type-conserving functions.

This mixin class holds test(s) for functions which conserve the type of individual data points. E.g. the mean of a list of Fractions should itself be a Fraction.

Not all tests to do with types need go in this class. Only those that rely on the function returning the same type as its input data.

test_types_conserved()[source]
class test.test_statistics.VarianceStdevMixin[source]

Bases: test.test_statistics.UnivariateCommonMixin

rel = 1e-12
test_domain_error_regression()[source]
test_iter_list_same()[source]
test_repeated_single_value()[source]
test_shift_data()[source]
test_shift_data_exact()[source]
test_single_value()[source]
test.test_statistics.approx_equal(x, y, tol=1e-12, rel=1e-07)[source]

approx_equal(x, y [, tol [, rel]]) => True|False

Return True if numbers x and y are approximately equal, to within some margin of error, otherwise return False. Numbers which compare equal will also compare approximately equal.

x is approximately equal to y if the difference between them is less than an absolute error tol or a relative error rel, whichever is bigger.

If given, both tol and rel must be finite, non-negative numbers. If not given, default values are tol=1e-12 and rel=1e-7.

>>> approx_equal(1.2589, 1.2587, tol=0.0003, rel=0)
True
>>> approx_equal(1.2589, 1.2587, tol=0.0001, rel=0)
False

Absolute error is defined as abs(x-y); if that is less than or equal to tol, x and y are considered approximately equal.

Relative error is defined as abs((x-y)/x) or abs((x-y)/y), whichever is smaller, provided x or y are not zero. If that figure is less than or equal to rel, x and y are considered approximately equal.

Complex numbers are not directly supported. If you wish to compare to complex numbers, extract their real and imaginary parts and compare them individually.

NANs always compare unequal, even with themselves. Infinities compare approximately equal if they have the same sign (both positive or both negative). Infinities with different signs compare unequal; so do comparisons of infinities with finite numbers.

test.test_statistics.load_tests(loader, tests, ignore)[source]

Used for doctest/unittest integration.

test.test_strftime module

Unittest for time.strftime

class test.test_strftime.StrftimeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
strftest1(now)[source]
strftest2(now)[source]
test_strftime()[source]
class test.test_strftime.Y1900Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

A limitation of the MS C runtime library is that it crashes if a date before 1900 is passed with a format string containing “%y”

test_y_1900()[source]
test_y_after_1900()[source]
test_y_before_1900()[source]
test.test_strftime.escapestr(text, ampm)[source]

Escape text to deal with possible locale values that have regex syntax while allowing regex syntax used for comparison.

test.test_strftime.fixasctime(s)[source]

test.test_string module

class test.test_string.ModuleTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_attrs()[source]
test_auto_numbering()[source]
test_basic_formatter()[source]
test_capwords()[source]
test_check_unused_args()[source]
test_conversion_specifiers()[source]
test_index_lookup()[source]
test_name_lookup()[source]
test_override_convert_field()[source]
test_override_format_field()[source]
test_override_get_value()[source]
test_override_parse()[source]
test_vformat_recursion_limit()[source]
test.test_string.test_main()[source]

test.test_stringprep module

class test.test_stringprep.StringprepTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test()[source]
test.test_stringprep.test_main()[source]

test.test_strlit module

Test correct treatment of various string literals by the parser.

There are four types of string literals:

‘abc’ – normal str r’abc’ – raw str b’xyz’ – normal bytes br’xyz’ | rb’xyz’ – raw bytes

The difference between normal and raw strings is of course that in a raw string, escapes (while still used to determine the end of the literal) are not interpreted, so that r’x00’ contains four characters: a backslash, an x, and two zeros; while ‘x00’ contains a single character (code point zero).

The tricky thing is what should happen when non-ASCII bytes are used inside literals. For bytes literals, this is considered illegal. But for str literals, those bytes are supposed to be decoded using the encoding declared for the file (UTF-8 by default).

We have to test this with various file encodings. We also test it with exec()/eval(), which uses a different code path.

This file is really about correct treatment of encodings and backslashes. It doesn’t concern itself with issues like single vs. double quotes or singly- vs. triply-quoted strings: that’s dealt with elsewhere (I assume).

class test.test_strlit.TestLiterals(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_encoding(encoding, extra='')[source]
setUp()[source]
tearDown()[source]
test_eval_bytes_incomplete()[source]
test_eval_bytes_normal()[source]
test_eval_bytes_raw()[source]
test_eval_str_incomplete()[source]
test_eval_str_normal()[source]
test_eval_str_raw()[source]
test_eval_str_u()[source]
test_file_iso_8859_1()[source]
test_file_latin9()[source]
test_file_latin_1()[source]
test_file_utf8()[source]
test_file_utf_8()[source]
test_file_utf_8_error()[source]
test_template()[source]
test.test_strlit.byte(i)[source]
test.test_strlit.test_main()[source]

test.test_strptime module

PyUnit testing against strptime

class test.test_strptime.CacheTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test that caching works properly.

test_TimeRE_recreation()[source]
test_new_localetime()[source]
test_regex_cleanup()[source]
test_time_re_recreation()[source]
class test.test_strptime.CalculationTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test that strptime() fills in missing info correctly

setUp()[source]
test_day_of_week_calculation()[source]
test_gregorian_calculation()[source]
test_julian_calculation()[source]
test_week_of_year_and_day_of_week_calculation()[source]
class test.test_strptime.JulianTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test a _strptime regression that all julian (1-366) are accepted

test_all_julian_days()[source]
class test.test_strptime.LocaleTime_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for _strptime.LocaleTime.

All values are lower-cased when stored in LocaleTime, so make sure to compare values after running lower on them.

compare_against_time(testing, directive, tuple_position, error_msg)[source]

Helper method that tests testing against directive based on the tuple_position of time_tuple. Uses error_msg as error message.

setUp()[source]

Create time tuple based on current time.

test_am_pm()[source]
test_date_time()[source]
test_lang()[source]
test_month()[source]
test_timezone()[source]
test_weekday()[source]
class test.test_strptime.Strptime12AMPMTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test a _strptime regression in ‘%I %p’ at 12 noon (12 PM)

test_twelve_noon_midnight()[source]
class test.test_strptime.StrptimeTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for _strptime.strptime.

helper(directive, position)[source]

Helper fxn in testing.

setUp()[source]

Create testing time tuple.

test_ValueError()[source]
test_bad_timezone()[source]
test_caseinsensitive()[source]
test_date()[source]
test_date_time()[source]
test_day()[source]
test_defaults()[source]
test_escaping()[source]
test_feb29_on_leap_year_without_year()[source]
test_fraction()[source]
test_hour()[source]
test_julian()[source]
test_mar1_comes_after_feb29_even_when_omitting_the_year()[source]
test_minute()[source]
test_month()[source]
test_percent()[source]
test_second()[source]
test_strptime_exception_context()[source]
test_time()[source]
test_timezone()[source]
test_unconverteddata()[source]
test_weekday()[source]
test_year()[source]
class test.test_strptime.TimeRETests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for TimeRE.

setUp()[source]

Construct generic TimeRE object.

test_blankpattern()[source]
test_compile()[source]
test_locale_data_w_regex_metacharacters()[source]
test_matching_with_escapes()[source]
test_pattern()[source]
test_pattern_escaping()[source]
test_whitespace_substitution()[source]
class test.test_strptime.getlang_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test _getlang

test_basic()[source]
test.test_strptime.test_main()[source]

test.test_strtod module

class test.test_strtod.StrtodTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_strtod(s)[source]

Compare the result of Python’s builtin correctly rounded string->float conversion (using float) to a pure Python correctly rounded string->float implementation. Fail if the two methods give different results.

test_bigcomp()[source]
test_boundaries()[source]
test_halfway_cases()[source]
test_large_exponents()[source]
test_oversized_digit_strings()
test_parsing()[source]
test_particular()[source]
test_short_halfway_cases()[source]
test_underflow_boundary()[source]
test.test_strtod.strtod(s, mant_dig=53, min_exp=-1021, max_exp=1024)[source]

Convert a finite decimal string to a hex string representing an IEEE 754 binary64 float. Return ‘inf’ or ‘-inf’ on overflow. This function makes no use of floating-point arithmetic at any stage.

test.test_strtod.strtod_parser()

match(string[, pos[, endpos]]) -> match object or None. Matches zero or more characters at the beginning of the string

test.test_strtod.test_main()[source]

test.test_struct module

class test.test_struct.StructTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_sizeof(format_str, number_of_codes)[source]
test_1530559()[source]
test_705836()[source]
test_Struct_reinitialization()[source]
test__sizeof__()[source]
test_bool()[source]
test_calcsize()[source]
test_consistence()[source]
test_count_overflow()[source]
test_integers()[source]
test_isbigendian()[source]
test_nN_code()[source]
test_new_features()[source]
test_p_code()[source]
test_pack_into()[source]
test_pack_into_fn()[source]
test_trailing_counter()[source]
test_transitiveness()[source]
test_unpack_from()[source]
test_unpack_with_buffer()[source]
class test.test_struct.UnpackIteratorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for iterative unpacking (struct.Struct.iter_unpack).

test_arbitrary_buffer()[source]
test_construct()[source]
test_iterate()[source]
test_length_hint()[source]
test_module_func()[source]
test.test_struct.bigendian_to_native(value)[source]
test.test_struct.iter_integer_formats(byteorders=('', '@', '=', '<', '>', '!'))[source]
test.test_struct.string_reverse(s)[source]
test.test_struct.test_main()[source]

test.test_structmembers module

class test.test_structmembers.ReadWriteTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_assignments()[source]
test_bool()[source]
test_byte()[source]
test_inplace_string()[source]
test_int()[source]
test_long()[source]
test_longlong()[source]
test_py_ssize_t()[source]
test_short()[source]
class test.test_structmembers.TestWarnings(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_byte_max()[source]
test_byte_min()[source]
test_short_max()[source]
test_short_min()[source]
test_ubyte_max()[source]
test_ushort_max()[source]
test.test_structmembers.test_main(verbose=None)[source]

test.test_structseq module

class test.test_structseq.StructSeqTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cmp()[source]
test_concat()[source]
test_constructor()[source]
test_contains()[source]
test_eviltuple()[source]
test_extended_getslice()[source]
test_fields()[source]
test_hash()[source]
test_reduce()[source]
test_repeat()[source]
test_repr()[source]
test_tuple()[source]
test.test_structseq.test_main()[source]

test.test_subprocess module

class test.test_subprocess.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertStderrEqual(stderr, expected, msg=None)[source]
setUp()[source]
tearDown()[source]
class test.test_subprocess.CommandTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_getoutput()[source]
class test.test_subprocess.CommandsWithSpaces(methodName='runTest')[source]

Bases: test.test_subprocess.BaseTestCase

setUp()[source]
tearDown()[source]
test_noshell_sequence_with_spaces()[source]
test_noshell_string_with_spaces()[source]
test_shell_sequence_with_spaces()[source]
test_shell_string_with_spaces()[source]
with_spaces(*args, **kwargs)[source]
class test.test_subprocess.ContextManagerTests(methodName='runTest')[source]

Bases: test.test_subprocess.BaseTestCase

test_communicate_stdin()[source]
test_invalid_args()[source]
test_pipe()[source]
test_returncode()[source]
class test.test_subprocess.HelperFunctionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_eintr_retry_call()[source]
class test.test_subprocess.POSIXProcessTestCase(methodName='runTest')[source]

Bases: test.test_subprocess.BaseTestCase

check_close_std_fds(fds)[source]
check_swap_fds(stdin_no, stdout_no, stderr_no)[source]
setUp()[source]
test_args_string()[source]
test_bytes_program()[source]
test_call_string()[source]
test_close_fd_0()[source]
test_close_fd_1()[source]
test_close_fd_2()[source]
test_close_fds()[source]
test_close_fds_0_1()[source]
test_close_fds_0_1_2()[source]
test_close_fds_0_2()[source]
test_close_fds_1_2()[source]
test_close_fds_after_preexec()[source]
test_close_fds_when_max_fd_is_lowered()[source]

Confirm that issue21618 is fixed (may fail under valgrind).

test_exception_bad_args_0()[source]

Test error in the child raised in the parent for a bad args[0].

test_exception_bad_executable()[source]

Test error in the child raised in the parent for a bad executable.

test_exception_cwd()[source]

Test error in the child raised in the parent for a bad cwd.

test_invalid_args()[source]
test_kill()[source]
test_kill_dead()[source]
test_leak_fast_process_del_killed()[source]
test_pass_fds()[source]
test_pass_fds_inheritable()[source]
test_pipe_cloexec()[source]
test_pipe_cloexec_real_tools()[source]
test_preexec()[source]
test_preexec_errpipe_does_not_double_close_pipes()[source]

Issue16140: Don’t double close pipes on preexec error.

test_preexec_exception()[source]
test_preexec_gc_module_failure()[source]
test_remapping_std_fds()[source]
test_restore_signals()[source]
test_run_abort()[source]
test_select_unbuffered()[source]
test_send_signal()[source]
test_send_signal_dead()[source]
test_shell_sequence()[source]
test_shell_string()[source]
test_small_errpipe_write_fd()[source]

Issue #15798: Popen should work when stdio fds are available.

test_specific_shell()[source]
test_start_new_session()[source]
test_stderr_stdin_are_single_inout_fd()[source]
test_stdout_stderr_are_single_inout_fd()[source]
test_stdout_stdin_are_single_inout_fd()[source]
test_surrogates_error_message()[source]
test_swap_fds()[source]
test_terminate()[source]
test_terminate_dead()[source]
test_undecodable_env()[source]
test_wait_when_sigchild_ignored()[source]
test_zombie_fast_process_del()[source]
class test.test_subprocess.PopenExecuteChildRaises(args, bufsize=-1, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=<object object at 0x00160DC0>, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, restore_signals=True, start_new_session=False, pass_fds=())[source]

Bases: subprocess.Popen

Popen subclass for testing cleanup of subprocess.PIPE filehandles when _execute_child fails.

exception test.test_subprocess.PopenTestException[source]

Bases: Exception

class test.test_subprocess.ProcessTestCase(methodName='runTest')[source]

Bases: test.test_subprocess.BaseTestCase

test_bufsize_is_none()[source]
test_call_kwargs()[source]
test_call_seq()[source]
test_call_timeout()[source]
test_check_call_nonzero()[source]
test_check_call_zero()[source]
test_check_output()[source]
test_check_output_input_arg()[source]
test_check_output_nonzero()[source]
test_check_output_stderr()[source]
test_check_output_stdin_arg()[source]
test_check_output_stdin_with_input_arg()[source]
test_check_output_stdout_arg()[source]
test_check_output_timeout()[source]
test_communicate()[source]
test_communicate_eintr()[source]
test_communicate_epipe()[source]
test_communicate_epipe_only_stdin()[source]
test_communicate_pipe_buf()[source]
test_communicate_pipe_fd_leak()[source]
test_communicate_returns()[source]
test_communicate_stderr()[source]
test_communicate_stdin()[source]
test_communicate_stdout()[source]
test_communicate_timeout()[source]
test_communicate_timeout_large_ouput()[source]
test_cwd()[source]
test_cwd_with_absolute_arg()[source]
test_cwd_with_relative_arg()[source]
test_cwd_with_relative_executable()[source]
test_double_close_on_error()[source]
test_empty_env()[source]
test_env()[source]
test_executable()[source]
test_executable_replaces_shell()[source]
test_executable_takes_precedence()[source]
test_executable_with_cwd()[source]
test_executable_without_cwd()[source]
test_failed_child_execute_fd_leak()[source]

Test for the fork() failure fd leak reported in issue16327.

test_handles_closed_on_exception()[source]
test_invalid_args()[source]
test_invalid_bufsize()[source]
test_io_buffered_by_default()[source]
test_io_unbuffered_works()[source]
test_issue8780()[source]
test_leaking_fds_on_error()[source]
test_list2cmdline()[source]
test_no_leaking()[source]
test_poll()[source]
test_stderr_devnull()[source]
test_stderr_filedes()[source]
test_stderr_fileobj()[source]
test_stderr_none()[source]
test_stderr_pipe()[source]
test_stdin_devnull()[source]
test_stdin_filedes()[source]
test_stdin_fileobj()[source]
test_stdin_none()[source]
test_stdin_pipe()[source]
test_stdout_devnull()[source]
test_stdout_filedes()[source]
test_stdout_filedes_of_stdout()[source]
test_stdout_fileobj()[source]
test_stdout_none()[source]
test_stdout_pipe()[source]
test_stdout_stderr_file()[source]
test_stdout_stderr_pipe()[source]
test_threadsafe_wait()[source]

Issue21291: Popen.wait() needs to be threadsafe for returncode.

test_universal_newlines()[source]
test_universal_newlines_communicate()[source]
test_universal_newlines_communicate_encodings()[source]
test_universal_newlines_communicate_input_none()[source]
test_universal_newlines_communicate_stdin()[source]
test_universal_newlines_communicate_stdin_stdout_stderr()[source]
test_wait()[source]
test_wait_timeout()[source]
test_writes_before_communicate()[source]
class test.test_subprocess.ProcessTestCaseNoPoll(methodName='runTest')[source]

Bases: test.test_subprocess.ProcessTestCase

setUp()[source]
tearDown()[source]
class test.test_subprocess.Win32ProcessTestCase(methodName='runTest')[source]

Bases: test.test_subprocess.BaseTestCase

test_call_string()[source]
test_close_fds()[source]
test_creationflags()[source]
test_invalid_args()[source]
test_kill()[source]
test_kill_dead()[source]
test_send_signal()[source]
test_send_signal_dead()[source]
test_shell_sequence()[source]
test_shell_string()[source]
test_startupinfo()[source]
test_terminate()[source]
test_terminate_dead()[source]
test.test_subprocess.test_main()[source]

test.test_sunau module

class test.test_sunau.SunauPCM16Test(methodName='runTest')[source]

Bases: test.test_sunau.SunauTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b"\x02.\xff\xeaK\\\x00\xf91\x14\x04\xef\x80\xdb\x08D\xcb\xe0\x06\xb0H\xab\x03\xf3\xbf\xe6\x01\xb5\x03g\xfe\x80\xb8S\xfaB\xb4\xaf\xf3Q)\x97\xeb\xcd\x1aZ\xe6\xdc\xed\xf9\xe4\x92\xc6'\xe2w\x0e\x06\xe0\xb7\xef)\xe0)WY\xe2q\xfb4\xe8?\x13w\xef\x85\xd8,\xf7'\x97\x8e\xfby\xf5\xf7\xfc\x12\x08d\xfb\x9e\xdf0\xfb@\x11\x83\xfa0>\xea\xfbY\xbcx\xfc\xb4f\xd5\xff`\xcf\x13\x04\x15C\x1a\t}\xc1\xba\x0e\xc7Q#\x12\xa0\xee\xe1\x17T\x82\x07\x16f\x7f\xfe\x14H\x80\x00\x12\x98I\x99\x0e\xb7R\xb4\r\xc1\xef\xad\x0fe\xce:\x0f\xbe\xe4\xb7\x0c\xe6cI\nW\x08\xcc\n\x1d+\xbc\x0b\tQH\x0eF\x8b\xcb\x11<\xb6\xf6\x0e\xe9D\x15\nZ"
nchannels = 2
nframes = 48
sampwidth = 2
sndfilename = 'pluck-pcm16.au'
sndfilenframes = 3307
class test.test_sunau.SunauPCM24Test(methodName='runTest')[source]

Bases: test.test_sunau.SunauTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'\x02-e\xff\xeb\x9dKZ\x0f\x00\xfaT1\x13\xc3\x04\xee+\x80\xdc\xd6\x08C\x03\xcb\xde\xc0\x06\xb2aH\xa9\x98\x03\xf2\xf8\xbf\xe8$\x01\xb0}\x03k\xfb\xfe{]\xb8WV\xfa>\xc9\xb4\xb0U\xf3P+)\x980\xeb\xcbb\x1a\\\xa7\xe6\xd9\x9a\xed\xfa>\xe4\x91\xbd\xc6%\xeb\xe2x\x84\x0e\x05\xa9\xe0\xb6\xcf\xef))\xe0)"WX\xd8\xe2pg\xfb5W\xe8>\x16\x13w\xbf\xef\x84\x02\xd8,[\xf7\'*\x97\x8f\x16\xfbwE\xf5\xf8e\xfc\x10\x13\x08f5\xfb\x9cN\xdf0\xfc\xfb@\xee\x11\x7f\xe0\xfa48>\xe6\xb8\xfbZ\xc3\xbcw\xa3\xfc\xb2\xf4f\xd6\xda\xff_2\xcf\x13\xb9\x04\x12uC\x1di\tz\x8c\xc1\xbb`\x0e\xc7NQ \xb9\x12\xa2\xba\xee\xdfd\x17T\xc0\x82\x07\x00\x16d\xb7\x7f\xff\xff\x14E?\x80\x00\x00\x12\x94\xe6I\x9c\x1b\x0e\xb3\xb2R\xb7>\r\xbc\xa0\xef\xb2\xb2\x0f_\xd8\xce<\xdb\x0f\xbe\x12\xe4\xb4\x9c\x0c\xea-cD\xa8\nZ|\x08\xc8\xfe\n\x1f\xfe+\xb9\x86\x0b\n\x0eQHo\x0eD\xe1\x8b\xccd\x11;\x05\xb6\xf4\xec\x0e\xeb6D\x13\x17\n[H'
nchannels = 2
nframes = 48
sampwidth = 3
sndfilename = 'pluck-pcm24.au'
sndfilenframes = 3307
class test.test_sunau.SunauPCM32Test(methodName='runTest')[source]

Bases: test.test_sunau.SunauTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'\x02-e\xbc\xff\xeb\x9d\x92KZ\x0f\x80\x00\xfaT\x9c1\x13\xc3@\x04\xee+\xc0\x80\xdc\xd6\x80\x08C\x03\xe0\xcb\xde\xc0\xc0\x06\xb2a@H\xa9\x98\x00\x03\xf2\xf8\xfc\xbf\xe8$\x80\x01\xb0}\x92\x03k\xfb`\xfe{]4\xb8WV\x00\xfa>\xc9 \xb4\xb0U\x00\xf3P+\xc0)\x980\x00\xeb\xcbb@\x1a\\\xa7\xa0\xe6\xd9\x9a`\xed\xfa>\x80\xe4\x91\xbd@\xc6%\xeb\x80\xe2x\x84\xa0\x0e\x05\xa9\xa0\xe0\xb6\xcf\xe0\xef))@\xe0)"\x80WX\xd8\x00\xe2pg\x00\xfb5W\xd8\xe8>\x16@\x13w\xbf\x00\xef\x84\x02\x80\xd8,[\x80\xf7\'*\x80\x97\x8f\x16\x00\xfbwE`\xf5\xf8e\x10\xfc\x10\x13d\x08f5\xa0\xfb\x9cN \xdf0\xfc@\xfb@\xee(\x11\x7f\xe0\xa0\xfa48\xb0>\xe6\xb8@\xfbZ\xc3\xf0\xbcw\xa3\x80\xfc\xb2\xf4Tf\xd6\xda\x80\xff_2\xb4\xcf\x13\xb9\x80\x04\x12u\xb0C\x1di\x80\tz\x8c\x00\xc1\xbb`\x00\x0e\xc7N\x00Q \xb9\x80\x12\xa2\xba\xa0\xee\xdfd\xc0\x17T\xc0`\x82\x07\x00\x00\x16d\xb7\x80\x7f\xff\xff\xff\x14E?@\x80\x00\x00\x00\x12\x94\xe6\xe0I\x9c\x1b\x00\x0e\xb3\xb2pR\xb7>\x00\r\xbc\xa0 \xef\xb2\xb2\xe0\x0f_\xd8\x80\xce<\xdb@\x0f\xbe\x12p\xe4\xb4\x9c\xc0\x0c\xea-\x90cD\xa8\x80\nZ|\xa0\x08\xc8\xfe\x80\n\x1f\xfe\xe0+\xb9\x86\xc0\x0b\n\x0e\x00QHo\x80\x0eD\xe1\x90\x8b\xccd\x80\x11;\x05\x80\xb6\xf4\xec\x00\x0e\xeb60D\x13\x17\x80\n[H\xa0'
nchannels = 2
nframes = 48
sampwidth = 4
sndfilename = 'pluck-pcm32.au'
sndfilenframes = 3307
class test.test_sunau.SunauPCM8Test(methodName='runTest')[source]

Bases: test.test_sunau.SunauTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'\x02\xffK\x001\x04\x80\x08\xcb\x06H\x03\xbf\x01\x03\xfe\xb8\xfa\xb4\xf3)\xeb\x1a\xe6\xed\xe4\xc6\xe2\x0e\xe0\xef\xe0W\xe2\xfb\xe8\x13\xef\xd8\xf7\x97\xfb\xf5\xfc\x08\xfb\xdf\xfb\x11\xfa>\xfb\xbc\xfcf\xff\xcf\x04C\t\xc1\x0eQ\x12\xee\x17\x82\x16\x7f\x14\x80\x12I\x0eR\r\xef\x0f\xce\x0f\xe4\x0cc\n\x08\n+\x0bQ\x0e\x8b\x11\xb6\x0eD\n'
nchannels = 2
nframes = 48
sampwidth = 1
sndfilename = 'pluck-pcm8.au'
sndfilenframes = 3307
class test.test_sunau.SunauTest[source]

Bases: test.audiotests.AudioWriteTests, test.audiotests.AudioTestsWithSourceFile

module = <module 'sunau' from 'C:\\Python34\\lib\\sunau.py'>
class test.test_sunau.SunauULAWTest(methodName='runTest')[source]

Bases: test.test_sunau.SunauTest, unittest.case.TestCase

compname = 'CCITT G.711 u-law'
comptype = 'ULAW'
framerate = 11025
frames = b',\x02\xe8\xff|I\xf4\x00|0\xdc\x04\x84\x82<\x08\x84\xcb\x9c\x06|I\xdc\x03\x84\xbe\xac\x01l\x03t\xfe\x84\xb6$\xfa\x84\xb6D\xf3|*\x04\xec\xfc\x19\x04\xe7\x04\xee\x04\xe5\x84\xc5\x04\xe2<\x0e\x04\xe1\x04\xef\x84\xdf|U\x04\xe2$\xfb\x04\xe8\xfc\x12\x04\xef\x84\xd7D\xf7\x84\x96d\xfb\xc4\xf5$\xfc<\x08\xa4\xfb\x84\xdf$\xfb\xfc\x11$\xfa|>d\xfb\x84\xba\xb4\xfc|e\\\xff\x84\xcf\x1c\x04|A\xbc\t\x84\xc1\xbc\x0e|Q\xfc\x12\x04\xef\xfc\x16\x84\x82\xfc\x15|}\xfc\x13\x84\x82\xfc\x12|I\xbc\x0e|Q\xbc\r\x04\xf0<\x0f\x84\xcd\xfc\x0f\x04\xe5\xbc\x0c|a<\n\xbc\x08<\n|,<\x0b|Q<\x0e\x84\x8a\xfc\x10\x84\xb6\xbc\x0e|E<\n'
nchannels = 2
nframes = 48
sampwidth = 2
sndfilename = 'pluck-ulaw.au'
sndfilenframes = 3307

test.test_sundry module

Do a minimal test of all the modules that aren’t otherwise tested.

class test.test_sundry.TestUntestedModules(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_untested_modules_can_be_imported()[source]

test.test_super module

Unit tests for new super() implementation.

class test.test_super.A[source]

Bases: object

classmethod cm()[source]
f()[source]
class test.test_super.B[source]

Bases: test.test_super.A

classmethod cm()[source]
f()[source]
class test.test_super.C[source]

Bases: test.test_super.A

classmethod cm()[source]
f()[source]
class test.test_super.D[source]

Bases: test.test_super.C, test.test_super.B

cm()[source]
f()[source]
class test.test_super.E[source]

Bases: test.test_super.D

class test.test_super.F[source]

Bases: test.test_super.E

f()
class test.test_super.G[source]

Bases: test.test_super.A

class test.test_super.TestSuper(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
test___class___classmethod()[source]
test___class___instancemethod()[source]
test___class___staticmethod()[source]
test_basics_working()[source]
test_cell_as_self()[source]
test_class_getattr_working()[source]
test_class_methods_still_working()[source]
test_obscure_super_errors()[source]
test_subclass_no_override_working()[source]
test_super_in_class_methods_working()[source]
test_super_with_closure()[source]
test_unbound_method_transfer_working()[source]
test_various___class___pathologies()[source]
test.test_super.test_main()[source]

test.test_support module

class test.test_support.TestSupport(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()
test_CleanImport()[source]
test_DirsOnSysPath()[source]
test_HOST()[source]
test_bind_port()[source]
test_captured_stderr()[source]
test_captured_stdin()[source]
test_captured_stdout()[source]
test_change_cwd()[source]
test_change_cwd__chdir_warning()[source]

Check the warning message when os.chdir() fails.

test_change_cwd__non_existent_dir()[source]

Test passing a non-existent directory.

test_change_cwd__non_existent_dir__quiet_true()[source]

Test passing a non-existent directory with quiet=True.

test_check_syntax_error()[source]
test_find_unused_port()[source]
test_forget()[source]
test_gc_collect()[source]
test_get_attribute()[source]
test_get_original_stdout()[source]
test_import_fresh_module()[source]
test_import_module()[source]
test_make_bad_fd()[source]
test_python_is_optimized()[source]
test_rmtree()[source]
test_sortdict()[source]
test_swap_attr()[source]
test_swap_item()[source]
test_temp_cwd()[source]
test_temp_cwd__name_none()[source]

Test passing None to temp_cwd().

test_temp_dir()[source]

Test that temp_dir() creates and destroys its directory.

test_temp_dir__existing_dir__quiet_default()[source]

Test passing a directory that already exists.

test_temp_dir__existing_dir__quiet_true()[source]

Test passing a directory that already exists with quiet=True.

test_temp_dir__path_none()[source]

Test passing no path.

test_unload()[source]
test.test_support.test_main()[source]

test.test_symtable module

Test the API of the symtable module.

class test.test_symtable.SymtableTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Mine = <Class SymbolTable for Mine in ?>
a_method = <Function SymbolTable for a_method in ?>
foo = <Function SymbolTable for foo in ?>
internal = <Function SymbolTable for internal in ?>
spam = <Function SymbolTable for spam in ?>
test_assigned()[source]
test_children()[source]
test_class_info()[source]
test_eval()[source]
test_exec()[source]
test_filename_correct()[source]
test_function_info()[source]
test_globals()[source]
test_imported()[source]
test_lineno()[source]
test_local()[source]
test_name()[source]
test_namespaces()[source]
test_nested()[source]
test_optimized()[source]
test_parameters()[source]
test_referenced()[source]
test_single()[source]
test_symbol_lookup()[source]
test_type()[source]
top = <SymbolTable for top in ?>
test.test_symtable.find_block(block, name)[source]
test.test_symtable.test_main()[source]

test.test_syntax module

This module tests SyntaxErrors.

Here’s an example of the sort of thing that is tested.

>>> def f(x):
...     global x
Traceback (most recent call last):
SyntaxError: name 'x' is parameter and global

The tests are all raise SyntaxErrors. They were created by checking each C call that raises SyntaxError. There are several modules that raise these exceptions– ast.c, compile.c, future.c, pythonrun.c, and symtable.c.

The parser itself outlaws a lot of invalid syntax. None of these errors are tested here at the moment. We should add some tests; since there are infinitely many programs with invalid syntax, we would need to be judicious in selecting some.

The compiler generates a synthetic module name for code executed by doctest. Since all the code comes from the same module, a suffix like [1] is appended to the module name, As a consequence, changing the order of tests in this module means renumbering all the errors after it. (Maybe we should enable the ellipsis option for these tests.)

In ast.c, syntax errors are raised by calling ast_error().

Errors from set_context():

>>> obj.None = 1
Traceback (most recent call last):
SyntaxError: invalid syntax
>>> None = 1
Traceback (most recent call last):
SyntaxError: can't assign to keyword

It’s a syntax error to assign to the empty tuple. Why isn’t it an error to assign to the empty list? It will always raise some error at runtime.

>>> () = 1
Traceback (most recent call last):
SyntaxError: can't assign to ()
>>> f() = 1
Traceback (most recent call last):
SyntaxError: can't assign to function call
>>> del f()
Traceback (most recent call last):
SyntaxError: can't delete function call
>>> a + 1 = 2
Traceback (most recent call last):
SyntaxError: can't assign to operator
>>> (x for x in x) = 1
Traceback (most recent call last):
SyntaxError: can't assign to generator expression
>>> 1 = 1
Traceback (most recent call last):
SyntaxError: can't assign to literal
>>> "abc" = 1
Traceback (most recent call last):
SyntaxError: can't assign to literal
>>> b"" = 1
Traceback (most recent call last):
SyntaxError: can't assign to literal
>>> `1` = 1
Traceback (most recent call last):
SyntaxError: invalid syntax

If the left-hand side of an assignment is a list or tuple, an illegal expression inside that contain should still cause a syntax error. This test just checks a couple of cases rather than enumerating all of them.

>>> (a, "b", c) = (1, 2, 3)
Traceback (most recent call last):
SyntaxError: can't assign to literal
>>> [a, b, c + 1] = [1, 2, 3]
Traceback (most recent call last):
SyntaxError: can't assign to operator
>>> a if 1 else b = 1
Traceback (most recent call last):
SyntaxError: can't assign to conditional expression

From compiler_complex_args():

>>> def f(None=1):
...     pass
Traceback (most recent call last):
SyntaxError: invalid syntax

From ast_for_arguments():

>>> def f(x, y=1, z):
...     pass
Traceback (most recent call last):
SyntaxError: non-default argument follows default argument
>>> def f(x, None):
...     pass
Traceback (most recent call last):
SyntaxError: invalid syntax
>>> def f(*None):
...     pass
Traceback (most recent call last):
SyntaxError: invalid syntax
>>> def f(**None):
...     pass
Traceback (most recent call last):
SyntaxError: invalid syntax

From ast_for_funcdef():

>>> def None(x):
...     pass
Traceback (most recent call last):
SyntaxError: invalid syntax

From ast_for_call():

>>> def f(it, *varargs):
...     return list(it)
>>> L = range(10)
>>> f(x for x in L)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> f(x for x in L, 1)
Traceback (most recent call last):
SyntaxError: Generator expression must be parenthesized if not sole argument
>>> f((x for x in L), 1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> f(i0,  i1,  i2,  i3,  i4,  i5,  i6,  i7,  i8,  i9,  i10,  i11,
...   i12,  i13,  i14,  i15,  i16,  i17,  i18,  i19,  i20,  i21,  i22,
...   i23,  i24,  i25,  i26,  i27,  i28,  i29,  i30,  i31,  i32,  i33,
...   i34,  i35,  i36,  i37,  i38,  i39,  i40,  i41,  i42,  i43,  i44,
...   i45,  i46,  i47,  i48,  i49,  i50,  i51,  i52,  i53,  i54,  i55,
...   i56,  i57,  i58,  i59,  i60,  i61,  i62,  i63,  i64,  i65,  i66,
...   i67,  i68,  i69,  i70,  i71,  i72,  i73,  i74,  i75,  i76,  i77,
...   i78,  i79,  i80,  i81,  i82,  i83,  i84,  i85,  i86,  i87,  i88,
...   i89,  i90,  i91,  i92,  i93,  i94,  i95,  i96,  i97,  i98,  i99,
...   i100,  i101,  i102,  i103,  i104,  i105,  i106,  i107,  i108,
...   i109,  i110,  i111,  i112,  i113,  i114,  i115,  i116,  i117,
...   i118,  i119,  i120,  i121,  i122,  i123,  i124,  i125,  i126,
...   i127,  i128,  i129,  i130,  i131,  i132,  i133,  i134,  i135,
...   i136,  i137,  i138,  i139,  i140,  i141,  i142,  i143,  i144,
...   i145,  i146,  i147,  i148,  i149,  i150,  i151,  i152,  i153,
...   i154,  i155,  i156,  i157,  i158,  i159,  i160,  i161,  i162,
...   i163,  i164,  i165,  i166,  i167,  i168,  i169,  i170,  i171,
...   i172,  i173,  i174,  i175,  i176,  i177,  i178,  i179,  i180,
...   i181,  i182,  i183,  i184,  i185,  i186,  i187,  i188,  i189,
...   i190,  i191,  i192,  i193,  i194,  i195,  i196,  i197,  i198,
...   i199,  i200,  i201,  i202,  i203,  i204,  i205,  i206,  i207,
...   i208,  i209,  i210,  i211,  i212,  i213,  i214,  i215,  i216,
...   i217,  i218,  i219,  i220,  i221,  i222,  i223,  i224,  i225,
...   i226,  i227,  i228,  i229,  i230,  i231,  i232,  i233,  i234,
...   i235,  i236,  i237,  i238,  i239,  i240,  i241,  i242,  i243,
...   i244,  i245,  i246,  i247,  i248,  i249,  i250,  i251,  i252,
...   i253,  i254,  i255)
Traceback (most recent call last):
SyntaxError: more than 255 arguments

The actual error cases counts positional arguments, keyword arguments, and generator expression arguments separately. This test combines the three.

>>> f(i0,  i1,  i2,  i3,  i4,  i5,  i6,  i7,  i8,  i9,  i10,  i11,
...   i12,  i13,  i14,  i15,  i16,  i17,  i18,  i19,  i20,  i21,  i22,
...   i23,  i24,  i25,  i26,  i27,  i28,  i29,  i30,  i31,  i32,  i33,
...   i34,  i35,  i36,  i37,  i38,  i39,  i40,  i41,  i42,  i43,  i44,
...   i45,  i46,  i47,  i48,  i49,  i50,  i51,  i52,  i53,  i54,  i55,
...   i56,  i57,  i58,  i59,  i60,  i61,  i62,  i63,  i64,  i65,  i66,
...   i67,  i68,  i69,  i70,  i71,  i72,  i73,  i74,  i75,  i76,  i77,
...   i78,  i79,  i80,  i81,  i82,  i83,  i84,  i85,  i86,  i87,  i88,
...   i89,  i90,  i91,  i92,  i93,  i94,  i95,  i96,  i97,  i98,  i99,
...   i100,  i101,  i102,  i103,  i104,  i105,  i106,  i107,  i108,
...   i109,  i110,  i111,  i112,  i113,  i114,  i115,  i116,  i117,
...   i118,  i119,  i120,  i121,  i122,  i123,  i124,  i125,  i126,
...   i127,  i128,  i129,  i130,  i131,  i132,  i133,  i134,  i135,
...   i136,  i137,  i138,  i139,  i140,  i141,  i142,  i143,  i144,
...   i145,  i146,  i147,  i148,  i149,  i150,  i151,  i152,  i153,
...   i154,  i155,  i156,  i157,  i158,  i159,  i160,  i161,  i162,
...   i163,  i164,  i165,  i166,  i167,  i168,  i169,  i170,  i171,
...   i172,  i173,  i174,  i175,  i176,  i177,  i178,  i179,  i180,
...   i181,  i182,  i183,  i184,  i185,  i186,  i187,  i188,  i189,
...   i190,  i191,  i192,  i193,  i194,  i195,  i196,  i197,  i198,
...   i199,  i200,  i201,  i202,  i203,  i204,  i205,  i206,  i207,
...   i208,  i209,  i210,  i211,  i212,  i213,  i214,  i215,  i216,
...   i217,  i218,  i219,  i220,  i221,  i222,  i223,  i224,  i225,
...   i226,  i227,  i228,  i229,  i230,  i231,  i232,  i233,  i234,
...   i235, i236,  i237,  i238,  i239,  i240,  i241,  i242,  i243,
...   (x for x in i244),  i245,  i246,  i247,  i248,  i249,  i250,  i251,
...    i252=1, i253=1,  i254=1,  i255=1)
Traceback (most recent call last):
SyntaxError: more than 255 arguments
>>> f(lambda x: x[0] = 3)
Traceback (most recent call last):
SyntaxError: lambda cannot contain assignment

The grammar accepts any test (basically, any expression) in the keyword slot of a call site. Test a few different options.

>>> f(x()=2)
Traceback (most recent call last):
SyntaxError: keyword can't be an expression
>>> f(a or b=1)
Traceback (most recent call last):
SyntaxError: keyword can't be an expression
>>> f(x.y=1)
Traceback (most recent call last):
SyntaxError: keyword can't be an expression

More set_context():

>>> (x for x in x) += 1
Traceback (most recent call last):
SyntaxError: can't assign to generator expression
>>> None += 1
Traceback (most recent call last):
SyntaxError: can't assign to keyword
>>> f() += 1
Traceback (most recent call last):
SyntaxError: can't assign to function call

Test continue in finally in weird combinations.

continue in for loop under finally should be ok.

>>> def test():
...     try:
...         pass
...     finally:
...         for abc in range(10):
...             continue
...     print(abc)
>>> test()
9

Start simple, a continue in a finally should not be allowed.

>>> def test():
...    for abc in range(10):
...        try:
...            pass
...        finally:
...            continue
Traceback (most recent call last):
  ...
SyntaxError: 'continue' not supported inside 'finally' clause

This is essentially a continue in a finally which should not be allowed.

>>> def test():
...    for abc in range(10):
...        try:
...            pass
...        finally:
...            try:
...                continue
...            except:
...                pass
Traceback (most recent call last):
  ...
SyntaxError: 'continue' not supported inside 'finally' clause
>>> def foo():
...     try:
...         pass
...     finally:
...         continue
Traceback (most recent call last):
  ...
SyntaxError: 'continue' not supported inside 'finally' clause
>>> def foo():
...     for a in ():
...       try:
...           pass
...       finally:
...           continue
Traceback (most recent call last):
  ...
SyntaxError: 'continue' not supported inside 'finally' clause
>>> def foo():
...     for a in ():
...         try:
...             pass
...         finally:
...             try:
...                 continue
...             finally:
...                 pass
Traceback (most recent call last):
  ...
SyntaxError: 'continue' not supported inside 'finally' clause
>>> def foo():
...  for a in ():
...   try: pass
...   finally:
...    try:
...     pass
...    except:
...     continue
Traceback (most recent call last):
  ...
SyntaxError: 'continue' not supported inside 'finally' clause

There is one test for a break that is not in a loop. The compiler uses a single data structure to keep track of try-finally and loops, so we need to be sure that a break is actually inside a loop. If it isn’t, there should be a syntax error.

>>> try:
...     print(1)
...     break
...     print(2)
... finally:
...     print(3)
Traceback (most recent call last):
  ...
SyntaxError: 'break' outside loop

This should probably raise a better error than a SystemError (or none at all). In 2.5 there was a missing exception and an assert was triggered in a debug build. The number of blocks must be greater than CO_MAXBLOCKS. SF #1565514

>>> while 1:
...  while 2:
...   while 3:
...    while 4:
...     while 5:
...      while 6:
...       while 8:
...        while 9:
...         while 10:
...          while 11:
...           while 12:
...            while 13:
...             while 14:
...              while 15:
...               while 16:
...                while 17:
...                 while 18:
...                  while 19:
...                   while 20:
...                    while 21:
...                     while 22:
...                      break
Traceback (most recent call last):
  ...
SystemError: too many statically nested blocks

Misuse of the nonlocal statement can lead to a few unique syntax errors.

>>> def f(x):
...     nonlocal x
Traceback (most recent call last):
  ...
SyntaxError: name 'x' is parameter and nonlocal
>>> def f():
...     global x
...     nonlocal x
Traceback (most recent call last):
  ...
SyntaxError: name 'x' is nonlocal and global
>>> def f():
...     nonlocal x
Traceback (most recent call last):
  ...
SyntaxError: no binding for nonlocal 'x' found
From SF bug #1705365
>>> nonlocal x
Traceback (most recent call last):
  ...
SyntaxError: nonlocal declaration not allowed at module level

TODO(jhylton): Figure out how to test SyntaxWarning with doctest.

## >>> def f(x): ## ... def f(): ## ... print(x) ## ... nonlocal x ## Traceback (most recent call last): ## ... ## SyntaxWarning: name ‘x’ is assigned to before nonlocal declaration

## >>> def f(): ## ... x = 1 ## ... nonlocal x ## Traceback (most recent call last): ## ... ## SyntaxWarning: name ‘x’ is assigned to before nonlocal declaration

This tests assignment-context; there was a bug in Python 2.5 where compiling a complex ‘if’ (one with ‘elif’) would fail to notice an invalid suite, leading to spurious errors.

>>> if 1:
...   x() = 1
... elif 1:
...   pass
Traceback (most recent call last):
  ...
SyntaxError: can't assign to function call
>>> if 1:
...   pass
... elif 1:
...   x() = 1
Traceback (most recent call last):
  ...
SyntaxError: can't assign to function call
>>> if 1:
...   x() = 1
... elif 1:
...   pass
... else:
...   pass
Traceback (most recent call last):
  ...
SyntaxError: can't assign to function call
>>> if 1:
...   pass
... elif 1:
...   x() = 1
... else:
...   pass
Traceback (most recent call last):
  ...
SyntaxError: can't assign to function call
>>> if 1:
...   pass
... elif 1:
...   pass
... else:
...   x() = 1
Traceback (most recent call last):
  ...
SyntaxError: can't assign to function call
Make sure that the old “raise X, Y[, Z]” form is gone:
>>> raise X, Y
Traceback (most recent call last):
  ...
SyntaxError: invalid syntax
>>> raise X, Y, Z
Traceback (most recent call last):
  ...
SyntaxError: invalid syntax
>>> f(a=23, a=234)
Traceback (most recent call last):
   ...
SyntaxError: keyword argument repeated
>>> del ()
Traceback (most recent call last):
SyntaxError: can't delete ()
>>> {1, 2, 3} = 42
Traceback (most recent call last):
SyntaxError: can't assign to literal

Corner-cases that used to fail to raise the correct error:

>>> def f(*, x=lambda __debug__:0): pass
Traceback (most recent call last):
SyntaxError: assignment to keyword
>>> def f(*args:(lambda __debug__:0)): pass
Traceback (most recent call last):
SyntaxError: assignment to keyword
>>> def f(**kwargs:(lambda __debug__:0)): pass
Traceback (most recent call last):
SyntaxError: assignment to keyword
>>> with (lambda *:0): pass
Traceback (most recent call last):
SyntaxError: named arguments must follow bare *

Corner-cases that used to crash:

>>> def f(**__debug__): pass
Traceback (most recent call last):
SyntaxError: assignment to keyword
>>> def f(*xx, __debug__): pass
Traceback (most recent call last):
SyntaxError: assignment to keyword
class test.test_syntax.SyntaxTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_assign_call()[source]
test_assign_del()[source]
test_bad_outdent()[source]
test_break_outside_loop()[source]
test_global_err_then_warn()[source]
test_kwargs_last()[source]
test_no_indent()[source]
test_unexpected_indent()[source]
test.test_syntax.test_main()[source]

test.test_sys module

class test.test_sys.SizeofTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_sizeof(test, o, size)
setUp()[source]
tearDown()[source]
test_default()[source]
test_gc_head_size()[source]
test_objecttypes()[source]
test_pythontypes()[source]
class test.test_sys.SysModuleTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assert_raise_on_new_sys_type(sys_attr)[source]
check_fsencoding(fs_encoding, expected=None)[source]
current_frames_with_threads()[source]
current_frames_without_threads()[source]
setUp()[source]
tearDown()[source]
test_43581()[source]
test_attributes()[source]
test_call_tracing()[source]
test_clear_type_cache()[source]
test_current_frames()[source]
test_custom_displayhook()[source]
test_debugmallocstats()[source]
test_dlopenflags()[source]
test_excepthook()[source]
test_executable()[source]
test_exit()[source]
test_getallocatedblocks()[source]
test_getdefaultencoding()[source]
test_getfilesystemencoding()[source]
test_getframe()[source]
test_getwindowsversion()[source]
test_implementation()[source]
test_intern()[source]
test_ioencoding()[source]
test_ioencoding_nonascii()[source]
test_lost_displayhook()[source]
test_original_displayhook()[source]
test_original_excepthook()[source]
test_recursionlimit()[source]
test_recursionlimit_fatalerror()[source]
test_recursionlimit_recovery()[source]
test_refcount()[source]
test_setcheckinterval()[source]
test_switchinterval()[source]
test_sys_flags()[source]
test_sys_flags_no_instantiation()[source]
test_sys_getwindowsversion_no_instantiation()[source]
test_sys_version_info_no_instantiation()[source]
test_thread_info()[source]
test.test_sys.test_main()[source]

test.test_sys_setprofile module

class test.test_sys_setprofile.HookWatcher[source]

Bases: object

add_event(event, frame=None)[source]

Add an event to the log.

callback(frame, event, arg)[source]
get_events()[source]

Remove calls to add_event().

class test.test_sys_setprofile.ProfileHookTestCase(methodName='runTest')[source]

Bases: test.test_sys_setprofile.TestCaseBase

new_watcher()[source]
test_caught_exception()[source]
test_caught_nested_exception()[source]
test_distant_exception()[source]
test_exception()[source]
test_exception_in_except_clause()[source]
test_exception_propogation()[source]
test_generator()[source]
test_nested_exception()[source]
test_raise()[source]
test_raise_reraise()[source]
test_raise_twice()[source]
test_simple()[source]
test_stop_iteration()[source]
class test.test_sys_setprofile.ProfileSimulator(testcase)[source]

Bases: test.test_sys_setprofile.HookWatcher

callback(frame, event, arg)[source]
dispatch = {'return': <function ProfileSimulator.trace_return at 0x298EA540>, 'c_exception': <function ProfileSimulator.trace_pass at 0x2B405078>, 'exception': <function ProfileSimulator.trace_exception at 0x298EA660>, 'c_return': <function ProfileSimulator.trace_pass at 0x2B405078>, 'c_call': <function ProfileSimulator.trace_pass at 0x2B405078>, 'call': <function ProfileSimulator.trace_call at 0x298EA420>}
trace_call(frame)[source]
trace_exception(frame)[source]
trace_pass(frame)[source]
trace_return(frame)[source]
class test.test_sys_setprofile.ProfileSimulatorTestCase(methodName='runTest')[source]

Bases: test.test_sys_setprofile.TestCaseBase

new_watcher()[source]
test_basic_exception()[source]
test_caught_exception()[source]
test_distant_exception()[source]
test_simple()[source]
class test.test_sys_setprofile.TestCaseBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_events(callable, expected)[source]
class test.test_sys_setprofile.TestGetProfile(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_empty()[source]
test_setget()[source]
test.test_sys_setprofile.capture_events(callable, p=None)[source]
test.test_sys_setprofile.ident(function)[source]
test.test_sys_setprofile.protect(f, p)[source]
test.test_sys_setprofile.show_events(callable)[source]
test.test_sys_setprofile.test_main()[source]

test.test_sys_settrace module

class test.test_sys_settrace.JumpTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

compare_jump_output(expected, received)[source]
run_test(func)[source]
setUp()[source]
test_01_jump_simple_forwards()[source]
test_02_jump_simple_backwards()[source]
test_03_jump_out_of_block_forwards()[source]
test_04_jump_out_of_block_backwards()[source]
test_05_jump_to_codeless_line()[source]
test_06_jump_to_same_line()[source]
test_07_jump_in_nested_finally()[source]
test_08_no_jump_too_far_forwards()[source]
test_09_no_jump_too_far_backwards()[source]
test_10_no_jump_to_except_1()[source]
test_11_no_jump_to_except_2()[source]
test_12_no_jump_to_except_3()[source]
test_13_no_jump_to_except_4()[source]
test_14_no_jump_forwards_into_block()[source]
test_15_no_jump_backwards_into_block()[source]
test_16_no_jump_into_finally_block()[source]
test_17_no_jump_out_of_finally_block()[source]
test_18_no_jump_to_non_integers()[source]
test_19_no_jump_without_trace_function()[source]
test_20_large_function()[source]
test_jump_across_with()[source]
test_jump_to_firstlineno()[source]
class test.test_sys_settrace.JumpTracer(function)[source]

Bases: object

Defines a trace function that jumps from one place to another, with the source and destination lines of the jump being defined by the ‘jump’ property of the function under test.

trace(frame, event, arg)[source]
class test.test_sys_settrace.RaisingTraceFuncTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

f()[source]

The function to trace; raises an exception if that’s the case we’re testing, so that the ‘exception’ trace event fires.

run_test_for_event(event)[source]

Tests that an exception raised in response to the given event is handled OK.

setUp()[source]
test_call()[source]
test_exception()[source]
test_exception_arguments()[source]
test_line()[source]
test_return()[source]
test_trash_stack()[source]
trace(frame, event, arg)[source]

A trace function that raises an exception in response to a specific trace event.

class test.test_sys_settrace.TraceTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

compare_events(line_offset, events, expected_events)[source]
run_and_compare(func, events)[source]
run_test(func)[source]
run_test2(func)[source]
setUp()[source]
tearDown()[source]
test_01_basic()[source]
test_02_arigo()[source]
test_03_one_instr()[source]
test_04_no_pop_blocks()[source]
test_05_no_pop_tops()[source]
test_06_call()[source]
test_07_raise()[source]
test_08_settrace_and_return()[source]
test_09_settrace_and_raise()[source]
test_10_ireturn()[source]
test_11_tightloop()[source]
test_12_tighterloop()[source]
test_13_genexp()[source]
test_14_onliner_if()[source]
test_15_loops()[source]
test_16_blank_lines()[source]
test_set_and_retrieve_func()[source]
test_set_and_retrieve_none()[source]
class test.test_sys_settrace.Tracer[source]

Bases: object

trace(frame, event, arg)[source]
traceWithGenexp(frame, event, arg)[source]
test.test_sys_settrace.arigo_example()[source]
test.test_sys_settrace.basic()[source]
test.test_sys_settrace.call()[source]
test.test_sys_settrace.called()[source]
test.test_sys_settrace.generator_example()[source]
test.test_sys_settrace.generator_function()[source]
test.test_sys_settrace.ireturn_example()[source]
test.test_sys_settrace.jump_across_with(output)[source]
test.test_sys_settrace.jump_in_nested_finally(output)[source]
test.test_sys_settrace.jump_out_of_block_backwards(output)[source]
test.test_sys_settrace.jump_out_of_block_forwards(output)[source]
test.test_sys_settrace.jump_simple_backwards(output)[source]
test.test_sys_settrace.jump_simple_forwards(output)[source]
test.test_sys_settrace.jump_to_codeless_line(output)[source]
test.test_sys_settrace.jump_to_same_line(output)[source]
test.test_sys_settrace.no_jump_backwards_into_block(output)[source]
test.test_sys_settrace.no_jump_forwards_into_block(output)[source]
test.test_sys_settrace.no_jump_into_finally_block(output)[source]
test.test_sys_settrace.no_jump_out_of_finally_block(output)[source]
test.test_sys_settrace.no_jump_to_except_1(output)[source]
test.test_sys_settrace.no_jump_to_except_2(output)[source]
test.test_sys_settrace.no_jump_to_except_3(output)[source]
test.test_sys_settrace.no_jump_to_except_4(output)[source]
test.test_sys_settrace.no_jump_to_non_integers(output)[source]
test.test_sys_settrace.no_jump_too_far_backwards(output)[source]
test.test_sys_settrace.no_jump_too_far_forwards(output)[source]
test.test_sys_settrace.no_jump_without_trace_function()[source]
test.test_sys_settrace.no_pop_blocks()[source]
test.test_sys_settrace.no_pop_tops()[source]
test.test_sys_settrace.one_instr_line()[source]
test.test_sys_settrace.raises()[source]
test.test_sys_settrace.settrace_and_raise(tracefunc)[source]
test.test_sys_settrace.settrace_and_return(tracefunc)[source]
test.test_sys_settrace.test_main()[source]
test.test_sys_settrace.test_raise()[source]
test.test_sys_settrace.tighterloop_example()[source]
test.test_sys_settrace.tightloop_example()[source]

test.test_sysconfig module

class test.test_sysconfig.MakefileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_get_makefile_filename()[source]
test_parse_makefile()[source]
class test.test_sysconfig.TestSysConfig(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_SO_deprecation()[source]
test_SO_in_vars()[source]
test_SO_value()[source]
test_get_config_h_filename()[source]
test_get_config_vars()[source]
test_get_path()[source]
test_get_path_names()[source]
test_get_paths()[source]
test_get_platform()[source]
test_get_scheme_names()[source]
test_ldshared_value()[source]
test_main()[source]
test_platform_in_subprocess()[source]
test_srcdir()[source]
test_srcdir_independent_of_cwd()[source]
test_user_similar()[source]
test.test_sysconfig.test_main()[source]

test.test_syslog module

test.test_tarfile module

class test.test_tarfile.AppendTest(methodName='runTest')[source]

Bases: test.test_tarfile.AppendTestBase, unittest.case.TestCase

test_append_compressed = None
test_empty()[source]
test_empty_fileobj()[source]
test_existing()[source]
test_fileobj()[source]
test_incomplete()[source]
test_invalid()[source]
test_non_existing()[source]
test_null()[source]
test_premature_eof()[source]
test_trailing_garbage()[source]
class test.test_tarfile.AppendTestBase[source]

Bases: object

setUp()[source]
test_append_compressed()[source]
class test.test_tarfile.Bz2AppendTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.AppendTestBase, unittest.case.TestCase

class test.test_tarfile.Bz2DetectReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.DetectReadTest

test_detect_stream_bz2()[source]
class test.test_tarfile.Bz2ListTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.ListTest

class test.test_tarfile.Bz2MiscReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.MiscReadTestBase, unittest.case.TestCase

requires_name_attribute()[source]
class test.test_tarfile.Bz2PartialReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, unittest.case.TestCase

test_partial_input()[source]
test_partial_input_bz2()[source]
class test.test_tarfile.Bz2StreamReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.StreamReadTest

class test.test_tarfile.Bz2StreamWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.StreamWriteTest

decompressor

alias of BZ2Decompressor

class test.test_tarfile.Bz2Test[source]

Bases: object

open

alias of BZ2File

suffix = 'bz2'
tarname = 'c:\\xampp\\htdocs\\@test_6476_tmp-tardir\\testtar.tar.bz2'
taropen(name, mode='r', fileobj=None, compresslevel=9, **kwargs)

Open bzip2 compressed tar archive name for reading or writing. Appending is not allowed.

class test.test_tarfile.Bz2UstarReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.UstarReadTest

class test.test_tarfile.Bz2WriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.Bz2Test, test.test_tarfile.WriteTest

class test.test_tarfile.CommandLineTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

make_simple_tarfile(tar_name)[source]
tarfilecmd(*args, **kwargs)[source]
tarfilecmd_failure(*args)[source]
test_create_command()[source]
test_create_command_dot_started_filename()[source]
test_create_command_dotless_filename()[source]
test_create_command_verbose()[source]
test_extract_command()[source]
test_extract_command_different_directory()[source]
test_extract_command_invalid_file()[source]
test_extract_command_verbose()[source]
test_list_command()[source]
test_list_command_invalid_file()[source]
test_list_command_verbose()[source]
test_test_command()[source]
test_test_command_invalid_file()[source]
test_test_command_verbose()[source]
class test.test_tarfile.CommonReadTest[source]

Bases: test.test_tarfile.ReadTest

test_empty_tarfile()[source]
test_ignore_zeros()[source]
test_non_existent_tarfile()[source]
test_null_tarfile()[source]
class test.test_tarfile.ContextManagerTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test_closed()[source]
test_eof()[source]
test_exception()[source]
test_fileobj()[source]
test_no_eof()[source]
class test.test_tarfile.DetectReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.TarTest, unittest.case.TestCase

test_detect_file()[source]
test_detect_fileobj()[source]
class test.test_tarfile.GNUReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.LongnameTest, test.test_tarfile.ReadTest, unittest.case.TestCase

longnametype = b'L'
subdir = 'gnu'
test_sparse_file_00()[source]
test_sparse_file_01()[source]
test_sparse_file_10()[source]
test_sparse_file_old()[source]
class test.test_tarfile.GNUUnicodeTest(methodName='runTest')[source]

Bases: test.test_tarfile.UstarUnicodeTest

format = 1
test_bad_pax_header()[source]
class test.test_tarfile.GNUWriteTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_longname_1023()[source]
test_longname_1024()[source]
test_longname_1025()[source]
class test.test_tarfile.GzipAppendTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.AppendTestBase, unittest.case.TestCase

class test.test_tarfile.GzipDetectReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.DetectReadTest

class test.test_tarfile.GzipListTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.ListTest

class test.test_tarfile.GzipMiscReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.MiscReadTestBase, unittest.case.TestCase

class test.test_tarfile.GzipStreamReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.StreamReadTest

class test.test_tarfile.GzipStreamWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.StreamWriteTest

class test.test_tarfile.GzipTest[source]

Bases: object

open

alias of GzipFile

suffix = 'gz'
tarname = 'c:\\xampp\\htdocs\\@test_6476_tmp-tardir\\testtar.tar.gz'
taropen(name, mode='r', fileobj=None, compresslevel=9, **kwargs)

Open gzip compressed tar archive name for reading or writing. Appending is not allowed.

class test.test_tarfile.GzipUstarReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.UstarReadTest

class test.test_tarfile.GzipWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.GzipTest, test.test_tarfile.WriteTest

class test.test_tarfile.HardlinkTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_add_twice()[source]
class test.test_tarfile.LimitsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_gnu_limits()[source]
test_pax_limits()[source]
test_ustar_limits()[source]
class test.test_tarfile.LinkEmulationTest(methodName='runTest')[source]

Bases: test.test_tarfile.ReadTest, unittest.case.TestCase

class test.test_tarfile.ListTest(methodName='runTest')[source]

Bases: test.test_tarfile.ReadTest, unittest.case.TestCase

setUp()[source]
test_list()[source]
test_list_verbose()[source]
class test.test_tarfile.LongnameTest[source]

Bases: object

test_header_offset()[source]
test_read_longname()[source]
test_truncated_longname()[source]
class test.test_tarfile.LzmaAppendTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.AppendTestBase, unittest.case.TestCase

class test.test_tarfile.LzmaDetectReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.DetectReadTest

class test.test_tarfile.LzmaListTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.ListTest

class test.test_tarfile.LzmaMiscReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.MiscReadTestBase, unittest.case.TestCase

requires_name_attribute()[source]
class test.test_tarfile.LzmaStreamReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.StreamReadTest

class test.test_tarfile.LzmaStreamWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.StreamWriteTest

decompressor

alias of LZMADecompressor

class test.test_tarfile.LzmaTest[source]

Bases: object

open

alias of LZMAFile

suffix = 'xz'
tarname = 'c:\\xampp\\htdocs\\@test_6476_tmp-tardir\\testtar.tar.xz'
taropen(name, mode='r', fileobj=None, preset=None, **kwargs)

Open lzma compressed tar archive name for reading or writing. Appending is not allowed.

class test.test_tarfile.LzmaUstarReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.UstarReadTest

class test.test_tarfile.LzmaWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.LzmaTest, test.test_tarfile.WriteTest

class test.test_tarfile.MemberReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.ReadTest, unittest.case.TestCase

test_find_blktype()[source]
test_find_chrtype()[source]
test_find_conttype()[source]
test_find_dirtype()[source]
test_find_dirtype_with_size()[source]
test_find_fifotype()[source]
test_find_gnusparse()[source]
test_find_gnusparse_00()[source]
test_find_gnusparse_01()[source]
test_find_gnusparse_10()[source]
test_find_lnktype()[source]
test_find_pax_umlauts()[source]
test_find_regtype()[source]
test_find_regtype_oldv7()[source]
test_find_sparse()[source]
test_find_symtype()[source]
test_find_umlauts()[source]
test_find_ustar_longname()[source]
class test.test_tarfile.MiscReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.MiscReadTestBase, unittest.case.TestCase

test_fail_comp = None
class test.test_tarfile.MiscReadTestBase[source]

Bases: test.test_tarfile.CommonReadTest

requires_name_attribute()[source]
test_bytes_name_attribute()[source]
test_check_members()[source]
test_empty_name_attribute()[source]
test_extract_directory()[source]
test_extractall()[source]
test_fail_comp()[source]
test_fileobj_with_offset()[source]
test_find_members()[source]
test_illegal_mode_arg()[source]
test_init_close_fobj()[source]
test_int_name_attribute()[source]
test_no_name_argument()[source]
test_no_name_attribute()[source]
test_parallel_iteration()[source]
test_v7_dirtype()[source]
test_xstar_type()[source]
class test.test_tarfile.MiscTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_char_fields()[source]
test_number_field_limits()[source]
test_read_number_fields()[source]
test_write_number_fields()[source]
class test.test_tarfile.PAXUnicodeTest(methodName='runTest')[source]

Bases: test.test_tarfile.UstarUnicodeTest

format = 2
test_binary_header()[source]
test_unicode_filename_error = None
class test.test_tarfile.PaxReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.LongnameTest, test.test_tarfile.ReadTest, unittest.case.TestCase

longnametype = b'x'
subdir = 'pax'
test_pax_global_headers()[source]
test_pax_number_fields()[source]
class test.test_tarfile.PaxWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.GNUWriteTest

test_pax_extended_header()[source]
test_pax_global_header()[source]
class test.test_tarfile.ReadTest[source]

Bases: test.test_tarfile.TarTest

prefix = 'r:'
setUp()[source]
tearDown()[source]
class test.test_tarfile.StreamReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.CommonReadTest, unittest.case.TestCase

prefix = 'r|'
test_compare_members()[source]
test_fileobj_regular_file()[source]
test_provoke_stream_error()[source]
test_read_through()[source]
class test.test_tarfile.StreamWriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.WriteTestBase, unittest.case.TestCase

decompressor = None
prefix = 'w|'
test_file_mode()[source]
test_stream_padding()[source]
class test.test_tarfile.TarTest[source]

Bases: object

mode
open

alias of FileIO

suffix = ''
tarname = 'C:\\Python34\\lib\\test\\testtar.tar'
taropen(name, mode='r', fileobj=None, **kwargs)

Open uncompressed tar archive name for reading or writing.

class test.test_tarfile.UstarReadTest(methodName='runTest')[source]

Bases: test.test_tarfile.ReadTest, unittest.case.TestCase

test_fileobj_iter()[source]
test_fileobj_link1()[source]
test_fileobj_link2()[source]
test_fileobj_readlines()[source]
test_fileobj_regular_file()[source]
test_fileobj_seek()[source]
test_fileobj_symlink1()[source]
test_fileobj_symlink2()[source]
test_fileobj_text()[source]
test_issue14160()[source]
class test.test_tarfile.UstarUnicodeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

format = 0
test_iso8859_1_filename()[source]
test_uname_unicode()[source]
test_unicode_argument()[source]
test_unicode_filename_error()[source]
test_utf7_filename()[source]
test_utf8_filename()[source]
class test.test_tarfile.WriteTest(methodName='runTest')[source]

Bases: test.test_tarfile.WriteTestBase, unittest.case.TestCase

prefix = 'w:'
test_100_char_name()[source]
test_abs_pathnames()[source]
test_add_self()[source]
test_cwd()[source]
test_directory_size()[source]
test_exclude()[source]
test_file_size()[source]
test_filter()[source]
test_open_nonwritable_fileobj()[source]
test_pathnames()[source]
test_tar_size()[source]
class test.test_tarfile.WriteTestBase[source]

Bases: test.test_tarfile.TarTest

test_fileobj_no_close()[source]
test.test_tarfile.md5sum(data)[source]
test.test_tarfile.setUpModule()[source]
test.test_tarfile.tearDownModule()[source]

test.test_tcl module

class test.test_tcl.BigmemTclTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_huge_string_builtins()
test_huge_string_call()
class test.test_tcl.TclTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
testCall()[source]
testCallException()[source]
testCallException2()[source]
testEval()[source]
testEvalException()[source]
testEvalException2()[source]
testEvalFile()[source]
testEvalFileException()[source]
testGetVar()[source]
testGetVarArray()[source]
testGetVarArrayException()[source]
testGetVarException()[source]
testLoadWithUNC()[source]
testPackageRequireException()[source]
testSetVar()[source]
testSetVarArray()[source]
testUnsetVar()[source]
testUnsetVarArray()[source]
testUnsetVarException()[source]
test_eval_null_in_result()[source]
test_evalfile_null_in_result()[source]
test_exprboolean()[source]
test_exprdouble()[source]
test_exprlong()[source]
test_exprstring()[source]
test_getboolean()[source]
test_getdouble()[source]
test_getint()[source]
test_passing_values()[source]
test_split()[source]
test_splitdict()[source]
test_splitlist()[source]
test_user_command()[source]
class test.test_tcl.TkinterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testFlattenLen()[source]
test.test_tcl.get_tk_patchlevel()[source]
test.test_tcl.setUpModule()[source]
test.test_tcl.test_main()[source]

test.test_telnetlib module

class test.test_telnetlib.ExpectAndReadTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_telnetlib.ExpectTests(methodName='runTest')[source]

Bases: test.test_telnetlib.ExpectAndReadTestCase

test_expect()[source]
expect(expected, [timeout])
Read until the expected string has been seen, or a timeout is hit (default is no timeout); may block.
class test.test_telnetlib.GeneralTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
testBasic()[source]
testGetters()[source]
testTimeoutDefault()[source]
testTimeoutNone()[source]
testTimeoutOpen()[source]
testTimeoutValue()[source]
class test.test_telnetlib.MockSelector[source]

Bases: selectors.BaseSelector

get_map()[source]
register(fileobj, events, data=None)[source]
resolution
select(timeout=None)[source]
unregister(fileobj)[source]
class test.test_telnetlib.OptionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

cmds = [b'\xf5', b'\xf6', b'\xf3', b'\xf7', b'\xf8', b'\xf9', b'\xf4', b'\xf1']
test_IAC_commands()[source]
test_SB_commands()[source]
test_debug_accepts_str_port()[source]
test_debuglevel_reads()[source]
test_debuglevel_write()[source]
class test.test_telnetlib.ReadTests(methodName='runTest')[source]

Bases: test.test_telnetlib.ExpectAndReadTestCase

read_very_lazy()[source]
test_read_all()[source]
read_all()
Read all data until EOF; may block.
test_read_eager()[source]
test_read_lazy()[source]
test_read_some()[source]
read_some()
Read at least one byte or EOF; may block.
test_read_until()[source]

read_until(expected, timeout=None) test the blocking version of read_util

class test.test_telnetlib.SocketStub(reads=())[source]

Bases: object

a socket proxy that re-defines sendall()

recv(size)[source]
sendall(data)[source]
class test.test_telnetlib.TelnetAlike(host=None, port=0, timeout=<object object at 0x00160DB8>)[source]

Bases: telnetlib.Telnet

close()[source]
fileno()[source]
msg(msg, *args)[source]
sock_avail()[source]
class test.test_telnetlib.WriteTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

The only thing that write does is replace each tl.IAC for tl.IAC+tl.IAC

test_write()[source]
class test.test_telnetlib.nego_collector(sb_getter=None)[source]

Bases: object

do_nego(sock, cmd, opt)[source]
test.test_telnetlib.server(evt, serv)[source]
test.test_telnetlib.test_main(verbose=None)[source]
test.test_telnetlib.test_socket(reads)[source]
test.test_telnetlib.test_telnet(reads=(), cls=<class 'test.test_telnetlib.TelnetAlike'>)[source]

return a telnetlib.Telnet object that uses a SocketStub with reads queued up to be read

test.test_tempfile module

class test.test_tempfile.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

nameCheck(name, dir, pre, suf)[source]
setUp()[source]
str_check = re.compile('^[a-z0-9_-]{8}$')
tearDown()[source]
class test.test_tempfile.NulledModules(*modules)[source]

Bases: object

class test.test_tempfile.TestCandidateTempdirList(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test the internal function _candidate_tempdir_list.

test_nonempty_list()[source]
test_wanted_dirs()[source]
class test.test_tempfile.TestExports(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

test_exports()[source]
class test.test_tempfile.TestGetCandidateNames(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test the internal function _get_candidate_names.

test_retval()[source]
test_same_thing()[source]
class test.test_tempfile.TestGetDefaultTempdir(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test _get_default_tempdir().

test_no_files_left_behind()[source]
class test.test_tempfile.TestGetTempDir(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test gettempdir().

test_case_sensitive()[source]
test_directory_exists()[source]
test_directory_writable()[source]
test_same_thing()[source]
class test.test_tempfile.TestGetTempPrefix(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test gettempprefix().

test_sane_template()[source]
test_usable_template()[source]
class test.test_tempfile.TestMkdtemp(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test mkdtemp().

do_create(dir=None, pre='', suf='')[source]
test_basic()[source]
test_basic_many()[source]
test_choose_directory()[source]
test_collision_with_existing_directory()[source]
test_collision_with_existing_file()[source]
test_mode()[source]
class test.test_tempfile.TestMkstemp(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test mkstemp().

do_create(dir=None, pre='', suf='')[source]
test_basic()[source]
test_choose_directory()[source]
class test.test_tempfile.TestMkstempInner(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test the internal function _mkstemp_inner.

default_mkstemp_inner()[source]
do_create(dir=None, pre='', suf='', bin=1)[source]
class mkstemped(dir, pre, suf, bin)[source]

Bases: object

write(str)[source]
TestMkstempInner.test_basic()[source]
TestMkstempInner.test_basic_many()[source]
TestMkstempInner.test_choose_directory()[source]
TestMkstempInner.test_collision_with_existing_directory()[source]
TestMkstempInner.test_collision_with_existing_file()[source]
TestMkstempInner.test_file_mode()[source]
TestMkstempInner.test_noinherit()[source]
TestMkstempInner.test_textmode()[source]
class test.test_tempfile.TestMktemp(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test mktemp().

do_create(pre='', suf='')[source]
class mktemped(dir, pre, suf)[source]

Bases: object

TestMktemp.setUp()[source]
TestMktemp.tearDown()[source]
TestMktemp.test_basic()[source]
TestMktemp.test_many()[source]
class test.test_tempfile.TestNamedTemporaryFile(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test NamedTemporaryFile().

do_create(dir=None, pre='', suf='', delete=True)[source]
test_basic()[source]
test_context_manager()[source]
test_creates_named()[source]
test_del_on_close()[source]
test_dis_del_on_close()[source]
test_method_lookup()[source]
test_multiple_close()[source]
test_no_leak_fd()[source]
class test.test_tempfile.TestRandomNameSequence(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test the internal iterator object _RandomNameSequence.

setUp()[source]
supports_iter()[source]
test_get_six_char_str()[source]
test_many()[source]
test_process_awareness()[source]
class test.test_tempfile.TestSpooledTemporaryFile(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test SpooledTemporaryFile().

do_create(max_size=0, dir=None, pre='', suf='')[source]
test_basic()[source]
test_bound_methods()[source]
test_context_manager_after_rollover()[source]
test_context_manager_before_rollover()[source]
test_context_manager_during_rollover()[source]
test_del_on_close()[source]
test_fileno()[source]
test_multiple_close_after_rollover()[source]
test_multiple_close_before_rollover()[source]
test_properties()[source]
test_rewrite_small()[source]
test_sparse()[source]
test_text_mode()[source]
test_text_newline_and_encoding()[source]
test_truncate_with_size_parameter()[source]
test_write_sequential()[source]
test_writelines()[source]
test_writelines_sequential()[source]
class test.test_tempfile.TestTemporaryDirectory(methodName='runTest')[source]

Bases: test.test_tempfile.BaseTestCase

Test TemporaryDirectory().

do_create(dir=None, pre='', suf='', recurse=1)[source]
test_context_manager()[source]
test_del_on_collection()[source]
test_del_on_shutdown()[source]
test_explicit_cleanup()[source]
test_mkdtemp_failure()[source]
test_multiple_close()[source]
test_warnings_on_cleanup()[source]
test.test_tempfile.test_main()[source]

test.test_textwrap module

class test.test_textwrap.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Parent class with utility methods for textwrap tests.

check(result, expect)[source]
check_split(text, expect)[source]
check_wrap(text, width, expect, **kwargs)[source]
show(textin)[source]
class test.test_textwrap.DedentTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertUnchanged(text)[source]

assert that dedent() has no effect on ‘text’

test_dedent_even()[source]
test_dedent_nomargin()[source]
test_dedent_preserve_internal_tabs()[source]
test_dedent_preserve_margin_tabs()[source]
test_dedent_uneven()[source]
class test.test_textwrap.IndentTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

CASES = ('Hi.\nThis is a test.\nTesting.', 'Hi.\nThis is a test.\n\nTesting.', '\nHi.\nThis is a test.\nTesting.\n', 'Hi.\r\nThis is a test.\r\nTesting.\r\n', '\nHi.\r\nThis is a test.\n\r\nTesting.\r\n\n')
ROUNDTRIP_CASES = ('Hi.\nThis is a test.\nTesting.', 'Hi.\nThis is a test.\n\nTesting.', '\nHi.\nThis is a test.\nTesting.\n')
test_indent_all_lines()[source]
test_indent_default()[source]
test_indent_empty_lines()[source]
test_indent_explicit_default()[source]
test_indent_no_lines()[source]
test_indent_nomargin_all_lines()[source]
test_indent_nomargin_default()[source]
test_indent_nomargin_explicit_default()[source]
test_roundtrip_mixed()[source]
test_roundtrip_spaces()[source]
test_roundtrip_tabs()[source]
class test.test_textwrap.IndentTestCases(methodName='runTest')[source]

Bases: test.test_textwrap.BaseTestCase

setUp()[source]
test_fill()[source]
test_initial_indent()[source]
test_subsequent_indent()[source]
class test.test_textwrap.LongWordTestCase(methodName='runTest')[source]

Bases: test.test_textwrap.BaseTestCase

setUp()[source]
test_break_long()[source]
test_max_lines_long()[source]
test_nobreak_long()[source]
class test.test_textwrap.MaxLinesTestCase(methodName='runTest')[source]

Bases: test.test_textwrap.BaseTestCase

test_placeholder()[source]
test_simple()[source]
test_spaces()[source]
text = "Hello there, how are you this fine day? I'm glad to hear it!"
class test.test_textwrap.ShortenTestCase(methodName='runTest')[source]

Bases: test.test_textwrap.BaseTestCase

check_shorten(text, width, expect, **kwargs)[source]
test_empty_string()[source]
test_first_word_too_long_but_placeholder_fits()[source]
test_placeholder()[source]
test_simple()[source]
test_whitespace()[source]
test_width_too_small_for_placeholder()[source]
class test.test_textwrap.WrapTestCase(methodName='runTest')[source]

Bases: test.test_textwrap.BaseTestCase

setUp()[source]
test_bad_width()[source]
test_break_on_hyphens()[source]
test_drop_whitespace_false()[source]
test_drop_whitespace_false_whitespace_only()[source]
test_drop_whitespace_false_whitespace_only_with_indent()[source]
test_drop_whitespace_leading_whitespace()[source]
test_drop_whitespace_whitespace_indent()[source]
test_drop_whitespace_whitespace_line()[source]
test_drop_whitespace_whitespace_only()[source]
test_drop_whitespace_whitespace_only_with_indent()[source]
test_em_dash()[source]
test_empty_string()[source]
test_empty_string_with_initial_indent()[source]
test_fix_sentence_endings()[source]
test_funky_hyphens()[source]
test_funky_parens()[source]
test_hyphenated()[source]
test_hyphenated_numbers()[source]
test_no_split_at_umlaut()[source]
test_punct_hyphens()[source]
test_simple()[source]
test_split()[source]
test_umlaut_followed_by_dash()[source]
test_unix_options()[source]
test_whitespace()[source]
test_wrap_short()[source]
test_wrap_short_1line()[source]

test.test_thread module

class test.test_thread.Barrier(num_threads)[source]

Bases: object

enter()[source]
class test.test_thread.BarrierTest(methodName='runTest')[source]

Bases: test.test_thread.BasicThreadTest

task2(ident)[source]
test_barrier()[source]
class test.test_thread.BasicThreadTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
class test.test_thread.LockTests(methodName='runTest')[source]

Bases: test.lock_tests.LockTests

locktype()

allocate_lock() -> lock object (allocate() is an obsolete synonym)

Create a new lock object. See help(LockType) for information about locks.

class test.test_thread.TestForkInThread(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_forkinthread()[source]
class test.test_thread.ThreadRunningTests(methodName='runTest')[source]

Bases: test.test_thread.BasicThreadTest

newtask()[source]
task(ident)[source]
test__count()[source]
test_nt_and_posix_stack_size()[source]
test_save_exception_state_on_error()[source]
test_stack_size()[source]
test_starting_threads()[source]
test.test_thread.test_main()[source]
test.test_thread.verbose_print(arg)[source]

Helper function for printing out debugging output.

test.test_threaded_import module

class test.test_threaded_import.Finder[source]

Bases: object

A dummy finder to detect concurrent access to its find_spec() method.

find_spec(name, path=None, target=None)[source]
class test.test_threaded_import.FlushingFinder[source]

Bases: object

A dummy finder which flushes sys.path_importer_cache when it gets called.

find_spec(name, path=None, target=None)[source]
class test.test_threaded_import.ThreadedImportTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_parallel_module_init()[source]
setUp()[source]
tearDown()[source]
test_circular_imports()[source]
test_import_hangers()[source]
test_parallel_meta_path()[source]
test_parallel_module_init()[source]
test_parallel_path_hooks()[source]
test_side_effect_import()[source]
test.test_threaded_import.task(N, done, done_tasks, errors)[source]
test.test_threaded_import.test_main()[source]

test.test_threadedtempfile module

Create and delete FILES_PER_THREAD temp files (via tempfile.TemporaryFile) in each of NUM_THREADS threads, recording the number of successes and failures. A failure is a bug in tempfile, and may be due to:

  • Trying to create more than one tempfile with the same name.
  • Trying to delete a tempfile that doesn’t still exist.
  • Something we’ve never seen before.

By default, NUM_THREADS == 20 and FILES_PER_THREAD == 50. This is enough to create about 150 failures per run under Win98SE in 2.0, and runs pretty quickly. Guido reports needing to boost FILES_PER_THREAD to 500 before provoking a 2.0 failure under Linux.

class test.test_threadedtempfile.TempFileGreedy(group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None)[source]

Bases: threading.Thread

error_count = 0
ok_count = 0
run()[source]
class test.test_threadedtempfile.ThreadedTempFileTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_main()[source]
test.test_threadedtempfile.test_main()[source]

test.test_threading module

Tests for the threading module.

class test.test_threading.BarrierTests(methodName='runTest')[source]

Bases: test.lock_tests.BarrierTests

barriertype

alias of Barrier

class test.test_threading.BaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_threading.BoundedSemaphoreTests(methodName='runTest')[source]

Bases: test.lock_tests.BoundedSemaphoreTests

semtype

alias of BoundedSemaphore

class test.test_threading.CRLockTests(methodName='runTest')[source]

Bases: test.lock_tests.RLockTests

locktype

alias of RLock

class test.test_threading.ConditionAsRLockTests(methodName='runTest')[source]

Bases: test.lock_tests.RLockTests

locktype

alias of Condition

class test.test_threading.ConditionTests(methodName='runTest')[source]

Bases: test.lock_tests.ConditionTests

condtype

alias of Condition

class test.test_threading.Counter[source]

Bases: object

dec()[source]
get()[source]
inc()[source]
class test.test_threading.EventTests(methodName='runTest')[source]

Bases: test.lock_tests.EventTests

eventtype

alias of Event

class test.test_threading.LockTests(methodName='runTest')[source]

Bases: test.lock_tests.LockTests

static locktype()

allocate_lock() -> lock object (allocate() is an obsolete synonym)

Create a new lock object. See help(LockType) for information about locks.

class test.test_threading.PyRLockTests(methodName='runTest')[source]

Bases: test.lock_tests.RLockTests

locktype

alias of _RLock

class test.test_threading.SemaphoreTests(methodName='runTest')[source]

Bases: test.lock_tests.SemaphoreTests

semtype

alias of Semaphore

class test.test_threading.SubinterpThreadingTests(methodName='runTest')[source]

Bases: test.test_threading.BaseTestCase

test_daemon_threads_fatal_error()[source]
test_threads_join()[source]
test_threads_join_2()[source]
class test.test_threading.TestThread(name, testcase, sema, mutex, nrunning)[source]

Bases: threading.Thread

run()[source]
class test.test_threading.ThreadJoinOnShutdown(methodName='runTest')[source]

Bases: test.test_threading.BaseTestCase

test_1_join_on_shutdown()[source]
test_2_join_in_forked_process()[source]
test_3_join_in_forked_from_thread()[source]
test_4_daemon_threads()[source]
test_clear_threads_states_after_fork()[source]
test_reinit_tls_after_fork()[source]
class test.test_threading.ThreadTests(methodName='runTest')[source]

Bases: test.test_threading.BaseTestCase

test_BoundedSemaphore_limit()[source]
test_PyThreadState_SetAsyncExc()[source]
test_deamon_param()[source]
test_dummy_thread_after_fork()[source]
test_enumerate_after_join()[source]
test_finalize_runnning_thread()[source]
test_finalize_with_trace()[source]
test_foreign_thread()[source]
test_frame_tstate_tracing()[source]
test_ident_of_no_threading_threads()[source]
test_is_alive_after_fork()[source]
test_join_nondaemon_on_shutdown()[source]
test_limbo_cleanup()[source]
test_main_thread()[source]
test_main_thread_after_fork()[source]
test_main_thread_after_fork_from_nonmain_thread()[source]
test_no_refcycle_through_target()[source]
test_old_threading_api()[source]
test_repr_daemon()[source]
test_repr_stopped()[source]
test_tstate_lock()[source]
test_various_ops()[source]
test_various_ops_large_stack()[source]
test_various_ops_small_stack()[source]
class test.test_threading.ThreadingExceptionTests(methodName='runTest')[source]

Bases: test.test_threading.BaseTestCase

test_daemonize_active_thread()[source]
test_joining_current_thread()[source]
test_joining_inactive_thread()[source]
test_recursion_limit()[source]
test_releasing_unacquired_lock()[source]
test_start_thread_again()[source]
class test.test_threading.TimerTests(methodName='runTest')[source]

Bases: test.test_threading.BaseTestCase

setUp()[source]
test_init_immutable_default_args()[source]

test.test_threading_local module

class test.test_threading_local.BaseLocalTest[source]

Bases: object

test_arguments()[source]
test_cycle_collection()[source]
test_derived()[source]
test_derived_cycle_dealloc()[source]
test_dict_attribute()[source]
test_dict_attribute_subclass()[source]
test_local_refs()[source]
test_threading_local()[source]
test_threading_local_subclass()[source]
class test.test_threading_local.PyThreadingLocalTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_threading_local.BaseLocalTest

class test.test_threading_local.ThreadLocalTest(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_threading_local.BaseLocalTest

class test.test_threading_local.Weak[source]

Bases: object

test.test_threading_local.target(local, weaklist)[source]
test.test_threading_local.test_main()[source]

test.test_threadsignals module

test.test_time module

class test.test_time.TestAsctime4dyear(methodName='runTest')[source]

Bases: test.test_time._TestAsctimeYear, test.test_time._Test4dYear, unittest.case.TestCase

class test.test_time.TestLocale(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_bug_3061()[source]
class test.test_time.TestPytime(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_localtime_timezone()[source]
test_short_times()[source]
test_strptime_timezone()[source]
test_time_t()[source]
test_timespec()[source]
test_timeval()[source]
class test.test_time.TestStrftime4dyear(methodName='runTest')[source]

Bases: test.test_time._TestStrftimeYear, test.test_time._Test4dYear, unittest.case.TestCase

class test.test_time.TimeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_asctime()[source]
test_asctime_bounding_check()[source]
test_clock()[source]
test_clock_getres()[source]
test_clock_monotonic()[source]
test_clock_realtime()[source]
test_clock_settime()[source]
test_conversions()[source]
test_ctime()[source]
test_ctime_without_arg()[source]
test_data_attributes()[source]
test_default_values_for_zero()[source]
test_get_clock_info()[source]
test_gmtime_without_arg()[source]
test_insane_timestamps()[source]
test_localtime_failure()[source]
test_localtime_without_arg()[source]
test_mktime()[source]
test_mktime_error()[source]
test_monotonic()[source]
test_monotonic_settime()[source]
test_perf_counter()[source]
test_process_time()[source]
test_sleep()[source]
test_strftime()[source]
test_strftime_bounding_check()[source]
test_strptime()[source]
test_strptime_bytes()[source]
test_strptime_exception_context()[source]
test_time()[source]
test_tzset()[source]

test.test_timeit module

class test.test_timeit.FakeTimer(seconds_per_increment=1.0)[source]

Bases: object

BASE_TIME = 42.0
inc()[source]
setup()[source]
wrap_timer(timer)[source]

Records ‘timer’ and returns self as callable timer.

class test.test_timeit.TestTimeit(methodName='runTest')[source]

Bases: unittest.case.TestCase

MAIN_DEFAULT_OUTPUT = '10 loops, best of 3: 1 sec per loop\n'
assert_exc_string(exc_string, expected_exc_name)[source]
fake_callable_setup()[source]
fake_callable_stmt()[source]
fake_setup = 'import timeit; timeit._fake_timer.setup()'
fake_stmt = 'import timeit; timeit._fake_timer.inc()'
repeat(stmt, setup, repeat=None, number=None)[source]
run_main(seconds_per_increment=1.0, switches=None, timer=None)[source]
tearDown()[source]
test_main_bad_switch()[source]
test_main_exception()[source]
test_main_exception_fixed_reps()[source]
test_main_fixed_iters()[source]
test_main_fixed_reps()[source]
test_main_help()[source]
test_main_microseconds()[source]
test_main_milliseconds()[source]
test_main_negative_reps()[source]
test_main_seconds()[source]
test_main_setup()[source]
test_main_using_clock()[source]
test_main_using_time()[source]
test_main_verbose()[source]
test_main_very_verbose()[source]
test_print_exc()[source]
test_reindent_empty()[source]
test_reindent_multi()[source]
test_reindent_multi_empty()[source]
test_reindent_single()[source]
test_repeat_callable_stmt()[source]
test_repeat_callable_stmt_and_setup()[source]
test_repeat_few_reps_and_iters()[source]
test_repeat_function_zero_iters()[source]
test_repeat_function_zero_reps()[source]
test_repeat_zero_iters()[source]
test_repeat_zero_reps()[source]
test_timeit_callable_stmt()[source]
test_timeit_callable_stmt_and_setup()[source]
test_timeit_few_iters()[source]
test_timeit_function_zero_iters()[source]
test_timeit_zero_iters()[source]
test_timer_invalid_setup()[source]
test_timer_invalid_stmt()[source]
timeit(stmt, setup, number=None)[source]
test.test_timeit.test_main()[source]

test.test_timeout module

Unit tests for socket timeout feature.

class test.test_timeout.CreationTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test case for socket.gettimeout() and socket.settimeout()

setUp()[source]
tearDown()[source]
testBlockingThenTimeout()[source]
testFloatReturnValue()[source]
testObjectCreation()[source]
testRangeCheck()[source]
testReturnType()[source]
testTimeoutThenBlocking()[source]
testTypeCheck()[source]
class test.test_timeout.TCPTimeoutTestCase(methodName='runTest')[source]

Bases: test.test_timeout.TimeoutTestCase

TCP test case for socket.socket() timeout functions

setUp()[source]
tearDown()[source]
testAcceptTimeout()[source]
testConnectTimeout()[source]
testRecvTimeout()[source]
testSend()[source]
testSendall()[source]
testSendto()[source]
class test.test_timeout.TimeoutTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

fuzz = 2.0
localhost = '127.0.0.1'
setUp()[source]
tearDown()
class test.test_timeout.UDPTimeoutTestCase(methodName='runTest')[source]

Bases: test.test_timeout.TimeoutTestCase

UDP test case for socket.socket() timeout functions

setUp()[source]
tearDown()[source]
testRecvfromTimeout()[source]
test.test_timeout.resolve_address(host, port)[source]

Resolve an (host, port) to an address.

We must perform name resolution before timeout tests, otherwise it will be performed by connect().

test.test_timeout.test_main()[source]

test.test_tk module

test.test_tk.test_main()[source]

test.test_tokenize module

class test.test_tokenize.TestDetectEncoding(methodName='runTest')[source]

Bases: unittest.case.TestCase

get_readline(lines)[source]
test_false_encoding()[source]
test_filename_in_exception()[source]
test_latin1_normalization()[source]
test_open()[source]
test_short_files()[source]
test_syntaxerror_latin1()[source]
test_utf8_normalization()[source]
class test.test_tokenize.TestTokenize(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertExactTypeEqual(opstr, *optypes)[source]
test_exact_type()[source]
test_pathological_trailing_whitespace()[source]
test_tokenize()[source]
class test.test_tokenize.TestTokenizerAdheresToPep0263(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test that tokenizer adheres to the coding behaviour stipulated in PEP 0263.

As per PEP 0263, if a file starts with a utf-8 BOM signature, the only allowed encoding for the comment is ‘utf-8’. The text file used in this test starts with a BOM signature, but specifies latin1 as the coding, so verify that a SyntaxError is raised, which matches the behaviour of the interpreter when it encounters a similar condition.

class test.test_tokenize.Test_Tokenize(methodName='runTest')[source]

Bases: unittest.case.TestCase

test__tokenize_decodes_with_specified_encoding()[source]
test__tokenize_does_not_decode_with_encoding_none()[source]
class test.test_tokenize.UntokenizeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_backslash_continuation()[source]
test_bad_input_order()[source]
test_iter_compat()[source]
test.test_tokenize.decistmt(s)[source]

Substitute Decimals for floats in a string of statements.

>>> from decimal import Decimal
>>> s = 'print(+21.3e-5*-.1234/81.7)'
>>> decistmt(s)
"print (+Decimal ('21.3e-5')*-Decimal ('.1234')/Decimal ('81.7'))"

The format of the exponent is inherited from the platform C library. Known cases are “e-007” (Windows) and “e-07” (not Windows). Since we’re only showing 11 digits, and the 12th isn’t close to 5, the rest of the output should be platform-independent.

>>> exec(s) 
-3.2171603427...e-0...7

Output from calculations with Decimal should be identical across all platforms.

>>> exec(decistmt(s))
-3.217160342717258261933904529E-7
test.test_tokenize.dump_tokens(s)[source]

Print out the tokens in s in a table format.

The ENDMARKER is omitted.

test.test_tokenize.roundtrip(f)[source]

Test roundtrip for untokenize. f is an open file or a string. The source code in f is tokenized to both 5- and 2-tuples. Both sequences are converted back to source code via tokenize.untokenize(), and the latter tokenized again to 2-tuples. The test fails if the 3 pair tokenizations do not match.

When untokenize bugs are fixed, untokenize with 5-tuples should reproduce code that does not contain a backslash continuation following spaces. A proper test should test this.

This function would be more useful for correcting bugs if it reported the first point of failure, like assertEqual, rather than just returning False – or if it were only used in unittests and not doctest and actually used assertEqual.

test.test_tokenize.test_main()[source]

test.test_trace module

class test.test_trace.TestCallers(methodName='runTest')[source]

Bases: unittest.case.TestCase

White-box testing of callers tracing

setUp()[source]
test_loop_caller_importing()[source]
class test.test_trace.TestCoverage(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_coverage()[source]
test_coverage_ignore()[source]
test_issue9936()[source]
class test.test_trace.TestDeprecatedMethods(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_deprecated_Ignore()[source]
test_deprecated_find_executable_linenos()[source]
test_deprecated_find_lines()[source]
test_deprecated_find_lines_from_code()[source]
test_deprecated_find_strings()[source]
test_deprecated_fullmodname()[source]
test_deprecated_modname()[source]
test_deprecated_usage()[source]
class test.test_trace.TestFuncs(methodName='runTest')[source]

Bases: unittest.case.TestCase

White-box testing of funcs tracing

setUp()[source]
test_inst_method_calling()[source]
test_loop_caller_importing()[source]
test_simple_caller()[source]
class test.test_trace.TestLineCounts(methodName='runTest')[source]

Bases: unittest.case.TestCase

White-box testing of line-counting, via runfunc

setUp()[source]
test_linear_methods()[source]
test_trace_func_generator()[source]
test_trace_list_comprehension()[source]
test_traced_func_importing()[source]
test_traced_func_linear()[source]
test_traced_func_loop()[source]
class test.test_trace.TestRunExecCounts(methodName='runTest')[source]

Bases: unittest.case.TestCase

A simple sanity test of line-counting, via runctx (exec)

setUp()[source]
test_exec_counts()[source]
class test.test_trace.Test_Ignore(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_ignored()[source]
class test.test_trace.TracedClass(x)[source]

Bases: object

classmethod class_method_linear(y)[source]
inst_method_calling(x)[source]
inst_method_linear(y)[source]
static static_method_linear(y)[source]
test.test_trace.fix_ext_py(filename)[source]

Given a .pyc/.pyo filename converts it to the appropriate .py

test.test_trace.get_firstlineno(func)[source]
test.test_trace.my_file_and_modname()[source]

The .py file and module name of this file (__file__)

test.test_trace.test_main()[source]
test.test_trace.traced_caller_list_comprehension()[source]
test.test_trace.traced_doubler(num)[source]
test.test_trace.traced_func_calling_generator()[source]
test.test_trace.traced_func_generator(num)[source]
test.test_trace.traced_func_importing(x, y)[source]
test.test_trace.traced_func_importing_caller(x)[source]
test.test_trace.traced_func_linear(x, y)[source]
test.test_trace.traced_func_loop(x, y)[source]
test.test_trace.traced_func_simple_caller(x)[source]

test.test_traceback module

Test cases for traceback module

class test.test_traceback.BaseExceptionReportingTests[source]

Bases: object

check_zero_div(msg)[source]
get_exception(exception_or_callable)[source]
test_cause()[source]
test_cause_and_context()[source]
test_cause_recursive()[source]
test_context()[source]
test_context_suppression()[source]
test_simple()[source]
test_syntax_error_offset_at_eol()[source]
zero_div()[source]
class test.test_traceback.CExcReportingTests(methodName='runTest')[source]

Bases: test.test_traceback.BaseExceptionReportingTests, unittest.case.TestCase

get_report(e)[source]
class test.test_traceback.MiscTracebackCases(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_clear()[source]
class test.test_traceback.PyExcReportingTests(methodName='runTest')[source]

Bases: test.test_traceback.BaseExceptionReportingTests, unittest.case.TestCase

get_report(e)[source]
class test.test_traceback.SyntaxTracebackCases(methodName='runTest')[source]

Bases: unittest.case.TestCase

get_exception_format(func, exc)[source]
syntax_error_bad_indentation()[source]
syntax_error_bad_indentation2()[source]
syntax_error_with_caret()[source]
syntax_error_with_caret_2()[source]
syntax_error_with_caret_non_ascii()[source]
test_bad_indentation()[source]
test_base_exception()[source]
test_caret()[source]
test_encoded_file()[source]
test_format_exception_only_bad__str__()[source]
test_nocaret()[source]
test_without_exception()[source]
class test.test_traceback.TracebackFormatTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_traceback_format(cleanup_func=None)[source]
some_exception()[source]
test_stack_format()[source]
test_traceback_format()[source]
test_traceback_format_with_cleared_frames()[source]
test.test_traceback.test_main()[source]

test.test_tracemalloc module

class test.test_tracemalloc.TestCommandLine(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_env_var()[source]
test_env_var_invalid()[source]
test_pymem_alloc0()[source]
test_sys_xoptions()[source]
test_sys_xoptions_invalid()[source]
class test.test_tracemalloc.TestFilters(methodName='runTest')[source]

Bases: unittest.case.TestCase

maxDiff = 2048
test_filter_attributes()[source]
test_filter_match()[source]
test_filter_match_filename()[source]
test_filter_match_filename_joker()[source]
test_filter_match_trace()[source]
class test.test_tracemalloc.TestSnapshot(methodName='runTest')[source]

Bases: unittest.case.TestCase

maxDiff = 4000
test_create_snapshot()[source]
test_filter_traces()[source]
test_format_traceback()[source]
test_slices()[source]
test_snapshot_group_by_cumulative()[source]
test_snapshot_group_by_file()[source]
test_snapshot_group_by_line()[source]
test_snapshot_group_by_traceback()[source]
test_statistic_diff_format()[source]
test_statistic_format()[source]
test_trace_format()[source]
class test.test_tracemalloc.TestTracemallocEnabled(methodName='runTest')[source]

Bases: unittest.case.TestCase

find_trace(traces, traceback)[source]
fork_child()[source]
setUp()[source]
tearDown()[source]
test_clear_traces()[source]
test_fork()[source]
test_get_object_traceback()[source]
test_get_traced_memory()[source]
test_get_tracemalloc_memory()[source]
test_get_traces()[source]
test_get_traces_intern_traceback()[source]
test_is_tracing()[source]
test_set_traceback_limit()[source]
test_snapshot()[source]
test_snapshot_save_attr()[source]
test.test_tracemalloc.allocate_bytes(size)[source]
test.test_tracemalloc.create_snapshots()[source]
test.test_tracemalloc.frame(filename, lineno)[source]
test.test_tracemalloc.get_frames(nframe, lineno_delta)[source]
test.test_tracemalloc.test_main()[source]
test.test_tracemalloc.traceback(*frames)[source]
test.test_tracemalloc.traceback_filename(filename)[source]
test.test_tracemalloc.traceback_lineno(filename, lineno)[source]

test.test_ttk_guionly module

test.test_ttk_guionly.test_main()[source]

test.test_ttk_textonly module

test.test_ttk_textonly.test_main()[source]

test.test_tuple module

class test.test_tuple.TupleTest(methodName='runTest')[source]

Bases: test.seq_tests.CommonTest

check_track_dynamic(tp, always_track)[source]
test_bug7466()[source]
test_constructors()[source]
test_hash()[source]
test_iadd()[source]
test_imul()[source]
test_iterator_pickle()[source]
test_len()[source]
test_no_comdat_folding()[source]
test_repr()[source]
test_repr_large()[source]
test_reversed_pickle()[source]
test_track_dynamic()[source]
test_track_literals()[source]
test_track_subtypes()[source]
test_truth()[source]
test_tupleresizebug()[source]
type2test

alias of tuple

test.test_tuple.test_main()[source]

test.test_typechecks module

Unit tests for __instancecheck__ and __subclasscheck__.

class test.test_typechecks.ABC[source]

Bases: type

class test.test_typechecks.Integer[source]

Bases: object

class test.test_typechecks.SubInt[source]

Bases: test.test_typechecks.Integer

class test.test_typechecks.TypeChecksTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

testIsInstanceActual()[source]
testIsInstanceBuiltin()[source]
testIsSubclassActual()[source]
testIsSubclassBuiltin()[source]
testIsSubclassInternal()[source]
testSubclassBehavior()[source]
test.test_typechecks.test_main()[source]

test.test_types module

class test.test_types.ClassCreationTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

class Meta(name, bases, ns, **kw)[source]

Bases: type

ClassCreationTests.test_metaclass_derivation()[source]
ClassCreationTests.test_metaclass_override_callable()[source]
ClassCreationTests.test_metaclass_override_function()[source]
ClassCreationTests.test_new_class_basics()[source]
ClassCreationTests.test_new_class_defaults()[source]
ClassCreationTests.test_new_class_exec_body()[source]
ClassCreationTests.test_new_class_meta()[source]
ClassCreationTests.test_new_class_meta_with_base()[source]
ClassCreationTests.test_new_class_metaclass_keywords()[source]
ClassCreationTests.test_new_class_subclass()[source]
ClassCreationTests.test_prepare_class()[source]
class test.test_types.MappingProxyTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

class mappingproxy

Bases: object

copy() → a shallow copy of D
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items() → list of D's (key, value) pairs, as 2-tuples
keys() → list of D's keys
values() → list of D's values
MappingProxyTests.test_chainmap()[source]
MappingProxyTests.test_constructor()[source]
MappingProxyTests.test_contains()[source]
MappingProxyTests.test_copy()[source]
MappingProxyTests.test_customdict()[source]
MappingProxyTests.test_get()[source]
MappingProxyTests.test_iterators()[source]
MappingProxyTests.test_len()[source]
MappingProxyTests.test_methods()[source]
MappingProxyTests.test_missing()[source]
MappingProxyTests.test_views()[source]
class test.test_types.SimpleNamespaceTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_as_dict()[source]
test_attrdel()[source]
test_attrget()[source]
test_attrset()[source]
test_constructor()[source]
test_equal()[source]
test_nested()[source]
test_pickle()[source]
test_recursive()[source]
test_recursive_repr()[source]
test_repr()[source]
test_subclass()[source]
test_unbound()[source]
test_underlying_dict()[source]
class test.test_types.TypesTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_boolean_ops()[source]
test_comparisons()[source]
test_float__format__()[source]
test_float__format__locale(*args, **kwds)
test_float_constructor()[source]
test_float_to_string()[source]
test_floats()[source]
test_format_spec_errors()[source]
test_int__format__()[source]
test_int__format__locale(*args, **kwds)
test_internal_sizes()[source]
test_normal_integers()[source]
test_numeric_types()[source]
test_strings()[source]
test_truth_values()[source]
test_type_function()[source]
test_zero_division()[source]
test.test_types.test_main()[source]

test.test_ucn module

Test script for the Unicode implementation.

Written by Bill Tutt. Modified for Python 2.0 by Fredrik Lundh (fredrik@pythonware.com)

  1. Copyright CNRI, All Rights Reserved. NO WARRANTY.
class test.test_ucn.UnicodeNamesTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkletter(name, code)[source]
test_aliases()[source]
test_aliases_names_in_pua_range()[source]
test_ascii_letters()[source]
test_bmp_characters()[source]
test_cjk_unified_ideographs()[source]
test_errors()[source]
test_general()[source]
test_hangul_syllables()[source]
test_issue16335()
test_misc_symbols()[source]
test_named_sequences_full()[source]
test_named_sequences_names_in_pua_range()[source]
test_named_sequences_sample()[source]
test_strict_error_handling()[source]
test.test_ucn.test_main()[source]

test.test_unary module

Test compiler changes for unary ops (+, -, ~) introduced in Python 2.2

class test.test_unary.UnaryOpTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_types()[source]
test_invert()[source]
test_negation_of_exponentiation()[source]
test_negative()[source]
test_no_overflow()[source]
test_positive()[source]
test.test_unary.test_main()[source]

test.test_unicode module

Test script for the Unicode implementation.

Written by Marc-Andre Lemburg (mal@lemburg.com).

  1. Copyright CNRI, All Rights Reserved. NO WARRANTY.
class test.test_unicode.StringModuleTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_formatter_field_name_split()[source]
test_formatter_parser()[source]
class test.test_unicode.UnicodeTest(methodName='runTest')[source]

Bases: test.string_tests.CommonTest, test.string_tests.MixinStrUnicodeUserStringTest, test.string_tests.MixinStrUnicodeTest, unittest.case.TestCase

assertCorrectUTF8Decoding(seq, res, err)[source]

Check that an invalid UTF-8 sequence raises an UnicodeDecodeError when ‘strict’ is used, returns res when ‘replace’ is used, and that doesn’t return anything when ‘ignore’ is used.

checkequalnofix(result, object, methodname, *args)[source]
test_ascii()[source]
test_aswidechar()[source]
test_aswidecharstring()[source]
test_bytes_comparison()[source]
test_capitalize()[source]
test_casefold()[source]
test_center()[source]
test_codecs()[source]
test_codecs_charmap()[source]
test_codecs_errors()[source]
test_codecs_idna()[source]
test_codecs_utf7()[source]
test_codecs_utf8()[source]
test_compare()[source]
test_comparison()[source]
test_concatenation()[source]
test_constructor()[source]
test_constructor_defaults()[source]

Check the constructor argument defaults.

test_constructor_keyword_args()[source]

Pass various keyword argument combinations to the constructor.

test_contains()[source]
test_conversion()[source]
test_count()[source]
test_encode_decimal()[source]
test_expandtabs_optimization()[source]
test_expandtabs_overflows_gracefully()[source]
test_find()[source]
test_format()[source]
test_format_auto_numbering()[source]
test_format_float(*args, **kwds)
test_format_huge_item_number()[source]
test_format_huge_precision()[source]
test_format_huge_width()[source]
test_format_map()[source]
test_format_subclass()[source]
test_formatting()[source]
test_formatting_huge_precision()[source]
test_formatting_huge_precision_c_limits()[source]
test_formatting_huge_width()[source]
test_formatting_with_enum()[source]
test_from_format()[source]
test_getnewargs()[source]
test_index()[source]
test_invalid_cb_for_2bytes_seq()[source]

Test that an ‘invalid continuation byte’ error is raised when the continuation byte of a 2-bytes sequence is invalid. The start byte is replaced by a single U+FFFD and the second byte is handled separately when errors=’replace’. E.g. in the sequence <C2 41>, C2 is the start byte of a 2-bytes sequence, but 41 is not a valid continuation byte because it’s the ASCII letter ‘A’.

test_invalid_cb_for_3bytes_seq()[source]

Test that an ‘invalid continuation byte’ error is raised when the continuation byte(s) of a 3-bytes sequence are invalid. When errors=’replace’, if the first continuation byte is valid, the first two bytes (start byte + 1st cb) are replaced by a single U+FFFD and the third byte is handled separately, otherwise only the start byte is replaced with a U+FFFD and the other continuation bytes are handled separately. E.g. in the sequence <E1 80 41>, E1 is the start byte of a 3-bytes sequence, 80 is a valid continuation byte, but 41 is not a valid cb because it’s the ASCII letter ‘A’. Note: when the start byte is E0 or ED, the valid ranges for the first continuation byte are limited to A0..BF and 80..9F respectively. Python 2 used to consider all the bytes in range 80..BF valid when the start byte was ED. This is fixed in Python 3.

test_invalid_cb_for_4bytes_seq()[source]

Test that an ‘invalid continuation byte’ error is raised when the continuation byte(s) of a 4-bytes sequence are invalid. When errors=’replace’,the start byte and all the following valid continuation bytes are replaced with a single U+FFFD, and all the bytes starting from the first invalid continuation bytes (included) are handled separately. E.g. in the sequence <E1 80 41>, E1 is the start byte of a 3-bytes sequence, 80 is a valid continuation byte, but 41 is not a valid cb because it’s the ASCII letter ‘A’. Note: when the start byte is E0 or ED, the valid ranges for the first continuation byte are limited to A0..BF and 80..9F respectively. However, when the start byte is ED, Python 2 considers all the bytes in range 80..BF valid. This is fixed in Python 3.

test_invalid_start_byte()[source]

Test that an ‘invalid start byte’ error is raised when the first byte is not in the ASCII range or is not a valid start byte of a 2-, 3-, or 4-bytes sequence. The invalid start byte is replaced with a single U+FFFD when errors=’replace’. E.g. <80> is a continuation byte and can appear only after a start byte.

test_isalnum()[source]
test_isalpha()[source]
test_isdecimal()[source]
test_isdigit()[source]
test_isidentifier()[source]
test_islower()[source]
test_isnumeric()[source]
test_isprintable()[source]
test_isspace()[source]
test_issue18183()[source]
test_issue8271()[source]
test_istitle()[source]
test_isupper()[source]
test_iterators()[source]
test_join()[source]
test_literals()[source]
test_lower()[source]
test_maketrans_translate()[source]
test_printable_repr()[source]
test_printing()[source]
test_raiseMemError()[source]
test_replace()[source]
test_replace_id()[source]
test_repr()[source]
test_resize()[source]
test_rfind()[source]
test_rindex()[source]
test_split()[source]
test_startswith_endswith_errors()[source]
test_subclass_add()[source]
test_surrogates()[source]
test_swapcase()[source]
test_title()[source]
test_transform_decimal()[source]
test_ucs4()[source]
test_unexpected_end_of_data()[source]

Test that an ‘unexpected end of data’ error is raised when the string ends after a start byte of a 2-, 3-, or 4-bytes sequence without having enough continuation bytes. The incomplete sequence is replaced with a single U+FFFD when errors=’replace’. E.g. in the sequence <F3 80 80>, F3 is the start byte of a 4-bytes sequence, but it’s followed by only 2 valid continuation bytes and the last continuation bytes is missing. Note: the continuation bytes must be all valid, if one of them is invalid another error will be raised.

test_unicode_repr()[source]
test_upper()[source]
test_utf8_decode_invalid_sequences()[source]
test_utf8_decode_valid_sequences()[source]
to_bytestring(seq)[source]
type2test

alias of str

test.test_unicode.duplicate_string(text)[source]

Try to get a fresh clone of the specified text: new object with a reference count of 1.

This is a best-effort: latin1 single letters and the empty string (‘’) are singletons and cannot be cloned.

test.test_unicode.search_function(encoding)[source]

test.test_unicode_file module

class test.test_unicode_file.TestUnicodeFiles(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_directories()[source]
test_single_files()[source]
test.test_unicode_file.remove_if_exists(filename)[source]
test.test_unicode_file.test_main()[source]

test.test_unicodedata module

Test script for the unicodedata module.

Written by Marc-Andre Lemburg (mal@lemburg.com).

  1. Copyright CNRI, All Rights Reserved. NO WARRANTY.
class test.test_unicodedata.UnicodeDatabaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_unicodedata.UnicodeFunctionsTest(methodName='runTest')[source]

Bases: test.test_unicodedata.UnicodeDatabaseTest

expectedchecksum = 'f0b74d26776331cc7bdc3a4698f037d73f2cee2b'
test_bidirectional()[source]
test_category()[source]
test_combining()[source]
test_decimal()[source]
test_decomposition()[source]
test_digit()[source]
test_east_asian_width()[source]
test_function_checksum()[source]
test_issue10254()[source]
test_mirrored()[source]
test_normalize()[source]
test_numeric()[source]
test_pr29()[source]
class test.test_unicodedata.UnicodeMethodsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

expectedchecksum = 'e74e878de71b6e780ffac271785c3cb58f6251f3'
test_method_checksum()[source]
class test.test_unicodedata.UnicodeMiscTest(methodName='runTest')[source]

Bases: test.test_unicodedata.UnicodeDatabaseTest

test_bug_1704793()[source]
test_bug_4971()[source]
test_bug_5828()[source]
test_decimal_numeric_consistent()[source]
test_digit_numeric_consistent()[source]
test_failed_import_during_compiling()[source]
test_linebreak_7643()[source]
test_ucd_510()[source]
test.test_unicodedata.test_main()[source]

test.test_unittest module

test.test_unittest.load_tests(*_)[source]
test.test_unittest.test_main()[source]

test.test_univnewlines module

class test.test_univnewlines.CTest[source]

Bases: object

open()
open(file, mode=’r’, buffering=-1, encoding=None,
errors=None, newline=None, closefd=True, opener=None) -> file object

Open file and return a stream. Raise IOError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for creating and writing to a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register or run ‘help(codecs.Codec)’ for a list of the permitted encoding error strings.

newline controls how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’ or ‘n’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_univnewlines.CTestCRLFNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.CTest, test.test_univnewlines.TestCRLFNewlines, unittest.case.TestCase

class test.test_univnewlines.CTestCRNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.CTest, test.test_univnewlines.TestCRNewlines, unittest.case.TestCase

class test.test_univnewlines.CTestLFNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.CTest, test.test_univnewlines.TestLFNewlines, unittest.case.TestCase

class test.test_univnewlines.CTestMixedNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.CTest, test.test_univnewlines.TestMixedNewlines, unittest.case.TestCase

class test.test_univnewlines.PyTest[source]

Bases: object

static open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Open file and return a stream. Raise OSError upon failure.

file is either a text or byte string giving the name (and the path if the file isn’t in the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped. (If a file descriptor is given, it is closed when the returned I/O object is closed, unless closefd is set to False.)

mode is an optional string that specifies the mode in which the file is opened. It defaults to ‘r’ which means open for reading in text mode. Other common values are ‘w’ for writing (truncating the file if it already exists), ‘x’ for exclusive creation of a new file, and ‘a’ for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform dependent. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)

The default mode is ‘rt’ (open for reading text). For binary random access, the mode ‘w+b’ opens and truncates the file to 0 bytes, while ‘r+b’ opens the file without truncation. The ‘x’ mode implies ‘w’ and raises an FileExistsError if the file already exists.

Python distinguishes between files opened in binary and text modes, even when the underlying operating system doesn’t. Files opened in binary mode (appending ‘b’ to the mode argument) return contents as bytes objects without any decoding. In text mode (the default, or when ‘t’ is appended to the mode argument), the contents of the file are returned as strings, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.

‘U’ mode is deprecated and will raise an exception in future versions of Python. It has no effect in Python 3. Use newline to control universal newlines mode.

buffering is an optional integer used to set the buffering policy. Pass 0 to switch buffering off (only allowed in binary mode), 1 to select line buffering (only usable in text mode), and an integer > 1 to indicate the size of a fixed-size chunk buffer. When no buffering argument is given, the default buffering policy works as follows:

  • Binary files are buffered in fixed-size chunks; the size of the buffer is chosen using a heuristic trying to determine the underlying device’s “block size” and falling back on io.DEFAULT_BUFFER_SIZE. On many systems, the buffer will typically be 4096 or 8192 bytes long.
  • “Interactive” text files (files for which isatty() returns True) use line buffering. Other text files use the policy described above for binary files.

encoding is the str name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent, but any encoding supported by Python can be passed. See the codecs module for the list of supported encodings.

errors is an optional string that specifies how encoding errors are to be handled—this argument should not be used in binary mode. Pass ‘strict’ to raise a ValueError exception if there is an encoding error (the default of None has the same effect), or pass ‘ignore’ to ignore errors. (Note that ignoring encoding errors can lead to data loss.) See the documentation for codecs.register for a list of the permitted encoding error strings.

newline is a string controlling how universal newlines works (it only applies to text mode). It can be None, ‘’, ‘n’, ‘r’, and ‘rn’. It works as follows:

  • On input, if newline is None, universal newlines mode is enabled. Lines in the input can end in ‘n’, ‘r’, or ‘rn’, and these are translated into ‘n’ before being returned to the caller. If it is ‘’, universal newline mode is enabled, but line endings are returned to the caller untranslated. If it has any of the other legal values, input lines are only terminated by the given string, and the line ending is returned to the caller untranslated.
  • On output, if newline is None, any ‘n’ characters written are translated to the system default line separator, os.linesep. If newline is ‘’, no translation takes place. If newline is any of the other legal values, any ‘n’ characters written are translated to the given string.

closedfd is a bool. If closefd is False, the underlying file descriptor will be kept open when the file is closed. This does not work when a file name is given and must be True in that case.

The newly created file is non-inheritable.

A custom opener can be used by passing a callable as opener. The underlying file descriptor for the file object is then obtained by calling opener with (file, flags). opener must return an open file descriptor (passing os.open as opener results in functionality similar to passing None).

open() returns a file object whose type depends on the mode, and through which the standard file operations such as reading and writing are performed. When open() is used to open a file in a text mode (‘w’, ‘r’, ‘wt’, ‘rt’, etc.), it returns a TextIOWrapper. When used to open a file in a binary mode, the returned class varies: in read binary mode, it returns a BufferedReader; in write binary and append binary modes, it returns a BufferedWriter, and in read/write mode, it returns a BufferedRandom.

It is also possible to use a string or bytearray as a file for both reading and writing. For strings StringIO can be used like a file opened in a text mode, and for bytes a BytesIO can be used like a file opened in a binary mode.

class test.test_univnewlines.PyTestCRLFNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.PyTest, test.test_univnewlines.TestCRLFNewlines, unittest.case.TestCase

class test.test_univnewlines.PyTestCRNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.PyTest, test.test_univnewlines.TestCRNewlines, unittest.case.TestCase

class test.test_univnewlines.PyTestLFNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.PyTest, test.test_univnewlines.TestLFNewlines, unittest.case.TestCase

class test.test_univnewlines.PyTestMixedNewlines(methodName='runTest')[source]

Bases: test.test_univnewlines.PyTest, test.test_univnewlines.TestMixedNewlines, unittest.case.TestCase

class test.test_univnewlines.TestCRLFNewlines[source]

Bases: test.test_univnewlines.TestGenericUnivNewlines

DATA = "line1=1\r\nline2='this is a very long line designed to go past any default buffer limits that exist in io.py but we also want to test the uncommon case, naturally.'\r\ndef line3():pass\r\nline4 = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\r\n"
NEWLINE = '\r\n'
test_tell()[source]
class test.test_univnewlines.TestCRNewlines[source]

Bases: test.test_univnewlines.TestGenericUnivNewlines

DATA = "line1=1\rline2='this is a very long line designed to go past any default buffer limits that exist in io.py but we also want to test the uncommon case, naturally.'\rdef line3():pass\rline4 = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\r"
NEWLINE = '\r'
class test.test_univnewlines.TestGenericUnivNewlines[source]

Bases: object

READMODE = 'r'
WRITEMODE = 'wb'
setUp()[source]
tearDown()[source]
test_read()[source]
test_readline()[source]
test_readlines()[source]
test_seek()[source]
class test.test_univnewlines.TestLFNewlines[source]

Bases: test.test_univnewlines.TestGenericUnivNewlines

DATA = "line1=1\nline2='this is a very long line designed to go past any default buffer limits that exist in io.py but we also want to test the uncommon case, naturally.'\ndef line3():pass\nline4 = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\n"
NEWLINE = '\n'
class test.test_univnewlines.TestMixedNewlines[source]

Bases: test.test_univnewlines.TestGenericUnivNewlines

DATA = "line1=1\nline2='this is a very long line designed to go past any default buffer limits that exist in io.py but we also want to test the uncommon case, naturally.'\ndef line3():pass\nline4 = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'\r"
NEWLINE = ('\r', '\n')

test.test_unpack module

test.test_unpack.test_main(verbose=False)[source]

test.test_unpack_ex module

test.test_unpack_ex.test_main(verbose=False)[source]

test.test_urllib module

Regresssion tests for urllib

class test.test_urllib.FakeFTPMixin[source]

Bases: object

fakeftp()[source]
unfakeftp()[source]
class test.test_urllib.FakeHTTPMixin[source]

Bases: object

fakehttp(fakedata)[source]
unfakehttp()[source]
class test.test_urllib.PathName2URLTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_converting_drive_letter()[source]
test_converting_when_no_drive_letter()[source]
test_long_drive_letter()[source]
test_roundtrip_pathname2url()[source]
test_simple_compare()[source]
class test.test_urllib.Pathname_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test pathname2url() and url2pathname()

test_basic()[source]
test_ntpath()[source]
test_quoting()[source]
class test.test_urllib.ProxyTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_getproxies_environment_keep_no_proxies()[source]
class test.test_urllib.QuotingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for urllib.quote() and urllib.quote_plus()

According to RFC 2396 (Uniform Resource Identifiers), to escape a character you write it as ‘%’ + <2 character US-ASCII hex value>. The Python code of '%' + hex(ord(<character>))[2:] escapes a character properly. Case does not matter on the hex letters.

The various character sets specified are:

Reserved characters : ”;/?:@&=+$,”
Have special meaning in URIs and must be escaped if not being used for their special meaning
Data characters : letters, digits, and “-_.!~*’()”
Unreserved and do not need to be escaped; can be, though, if desired
Control characters : 0x00 - 0x1F, 0x7F
Have no use in URIs so must be escaped
space : 0x20
Must be escaped
Delimiters : ‘<>#%”’
Must be escaped
Unwise : “{}|\^[]`”
Must be escaped
test_default_quoting()[source]
test_default_safe()[source]
test_never_quote()[source]
test_quote_bytes()[source]
test_quote_plus_with_unicode()[source]
test_quote_with_unicode()[source]
test_quoting_plus()[source]
test_quoting_space()[source]
test_safe()[source]
class test.test_urllib.RequestTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Unit tests for urllib.request.Request.

test_default_values()[source]
test_with_method_arg()[source]
class test.test_urllib.URL2PathNameTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_converting_drive_letter()[source]
test_converting_when_no_drive_letter()[source]
test_non_ascii_drive_letter()[source]
test_roundtrip_url2pathname()[source]
test_simple_compare()[source]
class test.test_urllib.URLopener_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Testcase to test the open method of URLopener class.

test_quoted_open()[source]
class test.test_urllib.UnquotingTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for unquote() and unquote_plus()

See the doc string for quoting_Tests for details on quoting and such.

test_unquote_to_bytes()[source]
test_unquote_with_unicode()[source]
test_unquoting()[source]
test_unquoting_badpercent()[source]
test_unquoting_mixed_case()[source]
test_unquoting_parts()[source]
test_unquoting_plus()[source]
class test.test_urllib.Utility_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Testcase to test the various utility functions in the urllib.

test_splitpasswd()[source]

Some of password examples are not sensible, but it is added to confirming to RFC2617 and addressing issue4675.

test_thishost()[source]

Test the urllib.request.thishost utility function returns a tuple

test.test_urllib.fakehttp(fakedata)[source]
test.test_urllib.hexescape(char)[source]

Escape char as RFC 2396 specifies

class test.test_urllib.urlencode_Tests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for urlencode()

help_inputtype(given, test_type)[source]

Helper method for testing different input types.

‘given’ must lead to only the pairs:
  • 1st, 1
  • 2nd, 2
  • 3rd, 3

Test cannot assume anything about order. Docs make no guarantee and have possible dictionary input.

test_doseq()[source]
test_empty_sequence()[source]
test_nonstring_seq_values()[source]
test_nonstring_values()[source]
test_quoting()[source]
test_urlencode_bytes()[source]
test_urlencode_encoding()[source]
test_urlencode_encoding_doseq()[source]
test_urlencode_encoding_safe_parameter()[source]
test_using_mapping()[source]
test_using_sequence()[source]
test.test_urllib.urlopen(url[, data]) → open file-like object[source]
class test.test_urllib.urlopen_DataTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test urlopen() opening a data URL.

setUp()[source]
test_geturl()[source]
test_info()[source]
test_interface()[source]
test_invalid_base64_data()[source]
test_missing_comma()[source]
test_read_image()[source]
test_read_text()[source]
test_read_text_base64()[source]
class test.test_urllib.urlopen_FileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test urlopen() opening a temporary file.

Try to test as much functionality as possible so as to cut down on reliance on connecting to the Net for testing.

setUp()[source]
tearDown()[source]

Shut down the open object

test_close()[source]
test_fileno()[source]
test_getcode()[source]
test_geturl()[source]
test_info()[source]
test_interface()[source]
test_iter()[source]
test_read()[source]
test_readline()[source]
test_readlines()[source]
test_relativelocalfile()[source]
class test.test_urllib.urlopen_HttpTests(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_urllib.FakeHTTPMixin, test.test_urllib.FakeFTPMixin

Test urlopen() opening a fake http connection.

check_read(ver)[source]
test_URLopener_deprecation()[source]
test_empty_socket()[source]
test_file_notexists()[source]
test_ftp_cache_pruning()[source]
test_ftp_nohost()[source]
test_ftp_nonexisting()[source]
test_invalid_redirect()[source]
test_missing_localfile()[source]
test_read_0_9()[source]
test_read_1_0()[source]
test_read_1_1()[source]
test_read_bogus()[source]
test_url_fragment()[source]
test_userpass_inurl()[source]
test_userpass_inurl_w_spaces()[source]
test_willclose()[source]
class test.test_urllib.urlretrieve_FileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test urllib.urlretrieve() on local files

constructLocalFileUrl(filePath)[source]
createNewTempFile(data=b'')[source]

Creates a new temporary file containing the specified data, registers the file for deletion during the test fixture tear down, and returns the absolute path of the file.

registerFileForCleanUp(fileName)[source]
setUp()[source]
tearDown()[source]
test_basic()[source]
test_copy()[source]
test_reporthook()[source]
test_reporthook_0_bytes()[source]
test_reporthook_5_bytes()[source]
test_reporthook_8193_bytes()[source]
class test.test_urllib.urlretrieve_HttpTests(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_urllib.FakeHTTPMixin

Test urllib.urlretrieve() using fake http connections

test_short_content_raises_ContentTooShortError()[source]
test_short_content_raises_ContentTooShortError_without_reporthook()[source]

test.test_urllib2 module

class test.test_urllib2.FakeMethod(meth_name, action, handle)[source]

Bases: object

class test.test_urllib2.HandlerTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic_and_digest_auth_handlers()[source]
test_basic_auth(quote_char='"')[source]
test_basic_auth_with_single_quoted_realm()[source]
test_basic_auth_with_unquoted_realm()[source]
test_cookies()[source]
test_errors()[source]
test_file()[source]
test_fixpath_in_weirdurls()[source]
test_ftp()[source]
test_full_url_deleter()[source]
test_full_url_setter()[source]
test_http()[source]
test_http_closed()[source]

Test the connection is cleaned up when the response is closed

test_http_doubleslash()[source]
test_invalid_closed()[source]

Test the connection is cleaned up after an invalid response

test_invalid_redirect()[source]
test_osx_proxy_bypass()[source]
test_proxy()[source]
test_proxy_basic_auth()[source]
test_proxy_https()[source]
test_proxy_https_proxy_authorization()[source]
test_proxy_no_proxy()[source]
test_proxy_no_proxy_all()[source]
test_redirect()[source]
test_redirect_fragment()[source]
test_relative_redirect()[source]
test_unsupported_auth_basic_handler()[source]
test_unsupported_auth_digest_handler()[source]
class test.test_urllib2.MiscTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

opener_has_handler(opener, handler_class)[source]
test_HTTPError_interface()[source]

Issue 13211 reveals that HTTPError didn’t implement the URLError interface even though HTTPError is a subclass of URLError.

test_build_opener()[source]
test_issue16464()[source]
test_parse_proxy()[source]
class test.test_urllib2.MockCookieJar[source]

Bases: object

extract_cookies(response, request)[source]
class test.test_urllib2.MockFile[source]

Bases: object

close()[source]
read(count=None)[source]
readline(count=None)[source]
class test.test_urllib2.MockHTTPClass[source]

Bases: object

close()[source]
getresponse()[source]
request(method, url, body=None, headers=None)[source]
set_debuglevel(level)[source]
set_tunnel(host, port=None, headers=None)[source]
class test.test_urllib2.MockHTTPHandler(code, headers)[source]

Bases: urllib.request.BaseHandler

http_open(req)[source]
reset()[source]
class test.test_urllib2.MockHTTPResponse(fp, msg, status, reason)[source]

Bases: io.IOBase

geturl()[source]
info()[source]
read()[source]
class test.test_urllib2.MockHTTPSHandler[source]

Bases: urllib.request.AbstractHTTPHandler

https_open(req)[source]
class test.test_urllib2.MockHandler(methods)[source]

Bases: object

add_parent(parent)[source]
close()[source]
handle(fn_name, action, *args, **kwds)[source]
handler_order = 500
class test.test_urllib2.MockHeaders[source]

Bases: dict

getheaders(name)[source]
class test.test_urllib2.MockOpener[source]

Bases: object

addheaders = []
error(proto, *args)[source]
open(req, data=None, timeout=<object object at 0x00160DB8>)[source]
class test.test_urllib2.MockPasswordManager[source]

Bases: object

add_password(realm, uri, user, password)[source]
find_user_password(realm, authuri)[source]
class test.test_urllib2.MockResponse(code, msg, headers, data, url=None)[source]

Bases: _io.StringIO

geturl()[source]
info()[source]
class test.test_urllib2.OpenerDirectorTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_add_non_handler()[source]
test_badly_named_methods()[source]
test_handled()[source]
test_handler_order()[source]
test_http_error()[source]
test_processors()[source]
test_raise()[source]
class test.test_urllib2.RequestHdrsTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_password_manager()[source]
test_password_manager_default_port()[source]

The point to note here is that we can’t guess the default port if there’s no scheme. This applies to both add_password and find_user_password.

test_request_headers_dict()[source]

The Request.headers dictionary is not a documented interface. It should stay that way, because the complete set of headers are only accessible through the .get_header(), .has_header(), .header_items() interface. However, .headers pre-dates those methods, and so real code will be using the dictionary.

The introduction in 2.4 of those methods was a mistake for the same reason: code that previously saw all (urllib2 user)-provided headers in .headers now sees only a subset.

test_request_headers_methods()[source]

Note the case normalization of header names here, to .capitalize()-case. This should be preserved for backwards-compatibility. (In the HTTP case, normalization to .title()-case is done by urllib2 before sending headers to http.client).

Note that e.g. r.has_header(“spam-EggS”) is currently False, and r.get_header(“spam-EggS”) returns None, but that could be changed in future.

Method r.remove_header should remove items both from r.headers and r.unredirected_hdrs dictionaries

class test.test_urllib2.RequestTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

class PutRequest(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)[source]

Bases: urllib.request.Request

method = 'PUT'
RequestTests.setUp()[source]
RequestTests.test_data()[source]
RequestTests.test_deleting_data_should_remove_content_length()[source]
RequestTests.test_get_full_url()[source]
RequestTests.test_get_host()[source]
RequestTests.test_get_host_unquote()[source]
RequestTests.test_get_type()[source]
RequestTests.test_method()[source]
RequestTests.test_proxy()[source]
RequestTests.test_selector()[source]
RequestTests.test_setting_data_should_remove_content_length()[source]
RequestTests.test_url_fragment()[source]
RequestTests.test_url_fullurl_get_full_url()[source]
RequestTests.test_wrapped_url()[source]
class test.test_urllib2.TrivialTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_URLError_reasonstr()[source]
test___all__()[source]
test_parse_http_list()[source]
test_trivial()[source]
test.test_urllib2.add_ordered_mock_handlers(opener, meth_spec)[source]

Create MockHandlers and add them to an OpenerDirector.

meth_spec: list of lists of tuples and strings defining methods to define on handlers. eg:

[[“http_error”, “ftp_open”], [“http_open”]]

defines methods .http_error() and .ftp_open() on one handler, and .http_open() on another. These methods just record their arguments and return None. Using a tuple instead of a string causes the method to perform some action (see MockHandler.handle()), eg:

[[“http_error”], [(“http_open”, “return request”)]]

defines .http_error() on one handler (which simply returns None), and .http_open() on another handler, which returns a Request object.

test.test_urllib2.build_test_opener(*handler_instances)[source]
test.test_urllib2.sanepathname2url(path)[source]
test.test_urllib2.test_main(verbose=None)[source]

test.test_urllib2_localnet module

class test.test_urllib2_localnet.BasicAuthHandler(*args, **kwargs)[source]

Bases: http.server.BaseHTTPRequestHandler

Handler for performing basic authentication.

ENCODED_AUTH = 'dGVzdFVzZXI6dGVzdFBhc3M='
PASSWD = 'testPass'
REALM = 'Test'
USER = 'testUser'
USER_PASSWD = 'testUser:testPass'
do_AUTHHEAD()[source]
do_GET()[source]
do_HEAD()[source]
log_message(format, *args)[source]
class test.test_urllib2_localnet.BasicAuthTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

INCORRECT_PASSWD = 'Incorrect'
PASSWD = 'testPass'
REALM = 'Test'
USER = 'testUser'
setUp()[source]
tearDown()[source]
test_basic_auth_httperror()[source]
test_basic_auth_success()[source]
class test.test_urllib2_localnet.DigestAuthHandler[source]

Bases: object

Handler for performing digest authentication.

handle_request(request_handler)[source]

Performs digest authentication on the given HTTP request handler. Returns True if authentication was successful, False otherwise.

If no users have been set, then digest auth is effectively disabled and this method will always return True.

set_qop(qop)[source]
set_realm(realm)[source]
set_users(users)[source]
class test.test_urllib2_localnet.FakeProxyHandler(digest_auth_handler, *args, **kwargs)[source]

Bases: http.server.BaseHTTPRequestHandler

This is a ‘fake proxy’ that makes it look like the entire internet has gone down due to a sudden zombie invasion. It main utility is in providing us with authentication support for testing.

do_GET()[source]
log_message(format, *args)[source]
test.test_urllib2_localnet.GetRequestHandler(responses)[source]
class test.test_urllib2_localnet.LoopbackHttpServer(server_address, RequestHandlerClass)[source]

Bases: http.server.HTTPServer

HTTP server w/ a few modifications that make it useful for loopback testing purposes.

get_request()[source]

HTTPServer method, overridden.

class test.test_urllib2_localnet.LoopbackHttpServerThread(request_handler)[source]

Bases: threading.Thread

Stoppable thread that runs a loopback http server.

run()[source]
stop()[source]

Stops the webserver if it’s currently running.

class test.test_urllib2_localnet.ProxyAuthTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

PASSWD = 'test123'
REALM = 'TestRealm'
URL = 'http://localhost'
USER = 'tester'
setUp()[source]
tearDown()[source]
test_proxy_qop_auth_int_works_or_throws_urlerror()[source]
test_proxy_qop_auth_works()[source]
test_proxy_with_bad_password_raises_httperror()[source]
test_proxy_with_no_password_raises_httperror()[source]
class test.test_urllib2_localnet.TestUrlopen(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests urllib.request.urlopen using the network.

These tests are not exhaustive. Assuming that testing using files does a good job overall of some of the basic interface features. There are no tests exercising the optional ‘data’ and ‘proxies’ arguments. No tests for transparent redirection have been written.

setUp()[source]
start_https_server(responses=None, **kwargs)[source]
start_server(responses=None)[source]
tearDown()[source]
test_200()[source]
test_200_with_parameters()[source]
test_404()[source]
test_bad_address()[source]
test_basic()[source]
test_chunked()[source]
test_geturl()[source]
test_https()[source]
test_https_sni()[source]
test_https_with_cadefault()[source]
test_https_with_cafile()[source]
test_info()[source]
test_iteration()[source]
test_line_iteration()[source]
test_redirection()[source]
test_sending_headers()[source]
urlopen(url, data=None, **kwargs)[source]
test.test_urllib2_localnet.setUpModule()[source]
test.test_urllib2_localnet.tearDownModule()[source]

test.test_urllib2net module

class test.test_urllib2net.AuthTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests urllib2 authentication features.

class test.test_urllib2net.CloseSocketTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_close()[source]
class test.test_urllib2net.OtherNetworkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_custom_headers()[source]
test_file()[source]
test_ftp()[source]
test_redirect_url_withfrag()[source]
test_sites_no_connection_close()[source]
test_urlwithfrag()[source]
class test.test_urllib2net.TimeoutTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

FTP_HOST = 'ftp://ftp.mirror.nl/pub/gnu/'
test_ftp_basic()[source]
test_ftp_default_timeout()[source]
test_ftp_no_timeout()[source]
test_ftp_timeout()[source]
test_http_basic()[source]
test_http_default_timeout()[source]
test_http_no_timeout()[source]
test_http_timeout()[source]

test.test_urllib_response module

Unit tests for code in urllib.response.

class test.test_urllib_response.TestResponse(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_addclosehook()[source]
test_addinfo()[source]
test_addinfourl()[source]
test_with()[source]

test.test_urllibnet module

class test.test_urllibnet.URLTimeoutTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

TIMEOUT = 30.0
setUp()[source]
tearDown()[source]
testURLread()[source]
class test.test_urllibnet.urlopenNetworkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests urllib.reqest.urlopen using the network.

These tests are not exhaustive. Assuming that testing using files does a good job overall of some of the basic interface features. There are no tests exercising the optional ‘data’ and ‘proxies’ arguments. No tests for transparent redirection have been written.

setUp is not used for always constructing a connection to http://www.example.com/ since there a few tests that don’t use that address and making a connection is expensive enough to warrant minimizing unneeded connections.

test_bad_address()[source]
test_basic()[source]
test_fileno()[source]
test_getcode()[source]
test_geturl()[source]
test_info()[source]
test_readlines()[source]
urlopen(*args, **kwargs)[source]
class test.test_urllibnet.urlretrieveNetworkTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests urllib.request.urlretrieve using the network.

test_basic()[source]
test_data_header()[source]
test_header()[source]
test_reporthook()[source]
test_specified_path()[source]
urlretrieve(*args, **kwargs)[source]

test.test_urlparse module

class test.test_urlparse.UrlParseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkJoin(base, relurl, expected)[source]
checkRoundtrips(url, parsed, split)[source]
test_Quoter_repr()[source]
test_RFC1808()[source]
test_RFC2368()[source]
test_RFC2396()[source]
test_RFC2732()[source]
test_RFC3986()[source]
test_anyscheme()[source]
test_attributes_bad_port()[source]

Check handling of non-integer ports.

test_attributes_without_netloc()[source]
test_http_roundtrips()[source]
test_issue14072()[source]
test_mixed_types_rejected()[source]
test_noslash()[source]
test_parse_qs_encoding()[source]
test_parse_qsl_encoding()[source]
test_portseparator()[source]
test_qsl()[source]
test_quote_errors()[source]
test_quote_from_bytes()[source]
test_result_pairs()[source]
test_roundtrips()[source]
test_splitnport()[source]
test_splitport()[source]
test_splitquery()[source]
test_splitvalue()[source]
test_telurl_params()[source]
test_to_bytes()[source]
test_unparse_parse()[source]
test_unquote_to_bytes()[source]
test_unwrap()[source]
test_urldefrag()[source]
test_urlencode_sequences()[source]
test_urljoins()[source]
test_urlsplit_attributes()[source]
test_usingsys()[source]
test_withoutscheme()[source]
test.test_urlparse.test_main()[source]

test.test_userdict module

class test.test_userdict.UserDictTest(*args, **kw)[source]

Bases: test.mapping_tests.TestHashMappingProtocol

test_all()[source]
test_missing()[source]
type2test

alias of UserDict

test.test_userdict.test_main()[source]

test.test_userlist module

class test.test_userlist.UserListTest(methodName='runTest')[source]

Bases: test.list_tests.CommonTest

test_add_specials()[source]
test_getitemoverwriteiter()[source]
test_getslice()[source]
test_iadd()[source]
test_mixedadd()[source]
test_mixedcmp()[source]
test_radd_specials()[source]
test_userlist_copy()[source]
type2test

alias of UserList

test.test_userlist.test_main()[source]

test.test_userstring module

class test.test_userstring.UserStringTest(methodName='runTest')[source]

Bases: test.string_tests.CommonTest, test.string_tests.MixinStrUnicodeUserStringTest, unittest.case.TestCase

checkcall(object, methodname, *args)[source]
checkequal(result, object, methodname, *args, **kwargs)[source]
checkraises(exc, object, methodname, *args)[source]
type2test

alias of UserString

test.test_uu module

Tests for uu module. Nick Mathewson

class test.test_uu.FakeIO(initial_value='', encoding='utf-8', errors='strict', newline='n')[source]

Bases: _io.TextIOWrapper

Text I/O implementation using an in-memory buffer.

Can be a used as a drop-in replacement for sys.stdin and sys.stdout.

getvalue()[source]
class test.test_uu.UUFileTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_decode()[source]
test_decode_filename()[source]
test_decodetwice()[source]
test_encode()[source]
class test.test_uu.UUStdIOTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_decode()[source]
test_encode()[source]
class test.test_uu.UUTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode()[source]
test_encode()[source]
test_missingbegin()[source]
test_truncatedinput()[source]
test.test_uu.encodedtextwrapped(mode, filename)[source]
test.test_uu.test_main()[source]

test.test_uuid module

class test.test_uuid.TestUUID(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_node(node, source)[source]
last_node = None
source2node = {}
testIssue8621()[source]
test_UUID()[source]
test_exceptions()[source]
test_find_mac()[source]
test_getnode()[source]
test_ifconfig_getnode()[source]
test_ipconfig_getnode()[source]
test_netbios_getnode()[source]
test_random_getnode()[source]
test_unixdll_getnode()[source]
test_uuid1()[source]
test_uuid3()[source]
test_uuid4()[source]
test_uuid5()[source]
test_windll_getnode()[source]
test.test_uuid.importable(name)[source]

test.test_venv module

Test harness for the venv module.

Copyright (C) 2011-2012 Vinay Sajip. Licensed to the PSF under a contributor agreement.

class test.test_venv.BaseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Base class for venv tests.

get_env_file(*args)[source]
get_text_file_contents(*args)[source]
run_with_capture(func, *args, **kwargs)[source]
setUp()[source]
tearDown()[source]
class test.test_venv.BasicTest(methodName='runTest')[source]

Bases: test.test_venv.BaseTest

Test venv module functionality.

ENV_SUBDIRS = (('Scripts',), ('Include',), ('Lib',), ('Lib', 'site-packages'))
clear_directory(path)[source]
create_contents(paths, filename)[source]

Create some files in the environment which are unrelated to the virtual environment.

isdir(*args)[source]
test_defaults()[source]

Test the create function with default arguments.

test_executable()[source]

Test that the sys.executable value is as expected.

Test that the sys.executable value is as expected.

test_isolation()[source]

Test isolation from system site-packages

test_overwrite_existing()[source]

Test creating environment in an existing directory.

test_prefixes()[source]

Test that the prefix values are as expected.

test_symlinking()[source]

Test symlinking works as expected

test_unoverwritable_fails()[source]
test_upgrade()[source]

Test upgrading an existing environment directory.

class test.test_venv.EnsurePipTest(methodName='runTest')[source]

Bases: test.test_venv.BaseTest

Test venv module installation of pip.

assert_pip_not_installed()[source]
test_devnull_exists_and_is_empty()[source]
test_explicit_no_pip()[source]
test_no_pip_by_default()[source]
test_with_pip()[source]
test.test_venv.test_main()[source]

test.test_wait3 module

test.test_wait4 module

test.test_warnings module

class test.test_warnings.BaseTest[source]

Bases: object

Basic bookkeeping required for testing.

setUp()[source]
tearDown()[source]
class test.test_warnings.BootstrapTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_issue_8766()[source]
class test.test_warnings.CCatchWarningTests(methodName='runTest')[source]

Bases: test.test_warnings.CatchWarningTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.CEnvironmentVariableTests(methodName='runTest')[source]

Bases: test.test_warnings.EnvironmentVariableTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.CFilterTests(methodName='runTest')[source]

Bases: test.test_warnings.FilterTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.CPublicAPITests(methodName='runTest')[source]

Bases: test.test_warnings.PublicAPITests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.CWCmdLineTests(methodName='runTest')[source]

Bases: test.test_warnings.WCmdLineTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.CWarnTests(methodName='runTest')[source]

Bases: test.test_warnings.WarnTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
test_accelerated()[source]
class test.test_warnings.CWarningsDisplayTests(methodName='runTest')[source]

Bases: test.test_warnings.WarningsDisplayTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.CatchWarningTests[source]

Bases: test.test_warnings.BaseTest

Test catch_warnings().

test_catch_warnings_defaults()[source]
test_catch_warnings_recording()[source]
test_catch_warnings_reentry_guard()[source]
test_catch_warnings_restore()[source]
test_check_warnings()[source]
class test.test_warnings.EnvironmentVariableTests[source]

Bases: test.test_warnings.BaseTest

test_comma_separated_warnings()[source]
test_envvar_and_command_line()[source]
test_nonascii()[source]
test_single_warning()[source]
class test.test_warnings.FilterTests[source]

Bases: test.test_warnings.BaseTest

Testing the filtering functionality.

test_always()[source]
test_always_after_default()[source]
test_default()[source]
test_error()[source]
test_error_after_default()[source]
test_filterwarnings()[source]
test_ignore()[source]
test_ignore_after_default()[source]
test_inheritance()[source]
test_module()[source]
test_once()[source]
test_ordering()[source]
class test.test_warnings.FinalizationTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_finalization()[source]
class test.test_warnings.PublicAPITests[source]

Bases: test.test_warnings.BaseTest

Ensures that the correct values are exposed in the public API.

test_module_all_attribute()[source]
class test.test_warnings.PyCatchWarningTests(methodName='runTest')[source]

Bases: test.test_warnings.CatchWarningTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.PyEnvironmentVariableTests(methodName='runTest')[source]

Bases: test.test_warnings.EnvironmentVariableTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.PyFilterTests(methodName='runTest')[source]

Bases: test.test_warnings.FilterTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.PyPublicAPITests(methodName='runTest')[source]

Bases: test.test_warnings.PublicAPITests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.PyWCmdLineTests(methodName='runTest')[source]

Bases: test.test_warnings.WCmdLineTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.PyWarnTests(methodName='runTest')[source]

Bases: test.test_warnings.WarnTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
test_pure_python()[source]
class test.test_warnings.PyWarningsDisplayTests(methodName='runTest')[source]

Bases: test.test_warnings.WarningsDisplayTests, unittest.case.TestCase

module = <module 'warnings' from 'C:\\Python34\\lib\\warnings.py'>
class test.test_warnings.WCmdLineTests[source]

Bases: test.test_warnings.BaseTest

test_improper_input()[source]
test_improper_option()[source]
test_warnings_bootstrap()[source]
class test.test_warnings.WarnTests[source]

Bases: test.test_warnings.BaseTest

Test warnings.warn() and warnings.warn_explicit().

test_bad_str()[source]
test_filename()[source]
test_message()[source]
test_missing_filename_main_with_argv()[source]
test_missing_filename_main_with_argv_empty_string()[source]
test_missing_filename_main_without_argv()[source]
test_missing_filename_not_main()[source]
test_stacklevel()[source]
test_warn_explicit_non_ascii_filename()[source]
test_warn_explicit_type_errors()[source]
test_warn_nonstandard_types()[source]
class test.test_warnings.WarningsDisplayTests[source]

Bases: test.test_warnings.BaseTest

Test the displaying of warnings and the ability to overload functions related to displaying warnings.

test_formatwarning()[source]
test_showwarning()[source]
test.test_warnings.setUpModule()[source]
test.test_warnings.tearDownModule()
test.test_warnings.warnings_state(module)[source]

Use a specific warnings implementation in warning_tests.

test.test_wave module

class test.test_wave.WavePCM16Test(methodName='runTest')[source]

Bases: test.test_wave.WaveTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'.\x02\xea\xff\\K\xf9\x00\x141\xef\x04\xdc\x80C\x08\xdf\xcb\xb2\x06\xaaH\xf3\x03\xe7\xbf\xb2\x01k\x03|\xfeW\xb8>\xfa\xb2\xb4O\xf3\x99)\xca\xeb_\x1a\xd7\xe6\xfc\xed\x91\xe4&\xc6y\xe2\x05\x0e\xb8\xe0\'\xef-\xe0TWu\xe21\xfbC\xe8s\x13\x89\xef\'\xd8,\xf7\x8b\x97z\xfb\xf7\xf5\x11\xfcf\x08\x9c\xfb0\xdfB\xfb\x7f\x116\xfa\xe4>]\xfbu\xbc\xb6\xfc\xd5f_\xff\x16\xcf\x0e\x04"Cx\t\xbc\xc1\xc8\x0e\x1fQ\xa4\x12\xdf\xeeU\x17\x06\x82f\x16\xff\x7fF\x14\x00\x80\x96\x12\x9cI\xb2\x0e\xbaR\xb9\r\xb7\xef\\\x0f@\xce\xbc\x0f\xb5\xe4\xeb\x0cDcZ\n\xca\x08\x1f\n\xba+\x0b\x0bFQG\x0e\xcb\x8b<\x11\xf5\xb6\xea\x0e\x15DY\n'
nchannels = 2
nframes = 48
sampwidth = 2
sndfilename = 'pluck-pcm16.wav'
sndfilenframes = 3307
class test.test_wave.WavePCM24Test(methodName='runTest')[source]

Bases: test.test_wave.WaveTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'e-\x02\x9d\xeb\xff\x0fZKT\xfa\x00\xc3\x131+\xee\x04\xd6\xdc\x80\x03C\x08\xc0\xde\xcba\xb2\x06\x98\xa9H\xf8\xf2\x03$\xe8\xbf}\xb0\x01\xfbk\x03]{\xfeVW\xb8\xc9>\xfaU\xb0\xb4+P\xf30\x98)b\xcb\xeb\xa7\\\x1a\x9a\xd9\xe6>\xfa\xed\xbd\x91\xe4\xeb%\xc6\x84x\xe2\xa9\x05\x0e\xcf\xb6\xe0))\xef")\xe0\xd8XWgp\xe2W5\xfb\x16>\xe8\xbfw\x13\x02\x84\xef[,\xd8*\'\xf7\x16\x8f\x97Ew\xfbe\xf8\xf5\x13\x10\xfc5f\x08N\x9c\xfb\xfc0\xdf\xee@\xfb\xe0\x7f\x1184\xfa\xb8\xe6>\xc3Z\xfb\xa3w\xbc\xf4\xb2\xfc\xda\xd6f2_\xff\xb9\x13\xcfu\x12\x04i\x1dC\x8cz\t`\xbb\xc1N\xc7\x0e\xb9 Q\xba\xa2\x12d\xdf\xee\xc0T\x17\x00\x07\x82\xb7d\x16\xff\xff\x7f?E\x14\x00\x00\x80\xe6\x94\x12\x1b\x9cI\xb2\xb3\x0e>\xb7R\xa0\xbc\r\xb2\xb2\xef\xd8_\x0f\xdb<\xce\x12\xbe\x0f\x9c\xb4\xe4-\xea\x0c\xa8Dc|Z\n\xfe\xc8\x08\xfe\x1f\n\x86\xb9+\x0e\n\x0boHQ\xe1D\x0ed\xcc\x8b\x05;\x11\xec\xf4\xb66\xeb\x0e\x17\x13DH[\n'
nchannels = 2
nframes = 48
sampwidth = 3
sndfilename = 'pluck-pcm24.wav'
sndfilenframes = 3307
class test.test_wave.WavePCM32Test(methodName='runTest')[source]

Bases: test.test_wave.WaveTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'\xbce-\x02\x92\x9d\xeb\xff\x80\x0fZK\x9cT\xfa\x00@\xc3\x131\xc0+\xee\x04\x80\xd6\xdc\x80\xe0\x03C\x08\xc0\xc0\xde\xcb@a\xb2\x06\x00\x98\xa9H\xfc\xf8\xf2\x03\x80$\xe8\xbf\x92}\xb0\x01`\xfbk\x034]{\xfe\x00VW\xb8 \xc9>\xfa\x00U\xb0\xb4\xc0+P\xf3\x000\x98)@b\xcb\xeb\xa0\xa7\\\x1a`\x9a\xd9\xe6\x80>\xfa\xed@\xbd\x91\xe4\x80\xeb%\xc6\xa0\x84x\xe2\xa0\xa9\x05\x0e\xe0\xcf\xb6\xe0@))\xef\x80")\xe0\x00\xd8XW\x00gp\xe2\xd8W5\xfb@\x16>\xe8\x00\xbfw\x13\x80\x02\x84\xef\x80[,\xd8\x80*\'\xf7\x00\x16\x8f\x97`Ew\xfb\x10e\xf8\xf5d\x13\x10\xfc\xa05f\x08 N\x9c\xfb@\xfc0\xdf(\xee@\xfb\xa0\xe0\x7f\x11\xb084\xfa@\xb8\xe6>\xf0\xc3Z\xfb\x80\xa3w\xbcT\xf4\xb2\xfc\x80\xda\xd6f\xb42_\xff\x80\xb9\x13\xcf\xb0u\x12\x04\x80i\x1dC\x00\x8cz\t\x00`\xbb\xc1\x00N\xc7\x0e\x80\xb9 Q\xa0\xba\xa2\x12\xc0d\xdf\xee`\xc0T\x17\x00\x00\x07\x82\x80\xb7d\x16\xff\xff\xff\x7f@?E\x14\x00\x00\x00\x80\xe0\xe6\x94\x12\x00\x1b\x9cIp\xb2\xb3\x0e\x00>\xb7R \xa0\xbc\r\xe0\xb2\xb2\xef\x80\xd8_\x0f@\xdb<\xcep\x12\xbe\x0f\xc0\x9c\xb4\xe4\x90-\xea\x0c\x80\xa8Dc\xa0|Z\n\x80\xfe\xc8\x08\xe0\xfe\x1f\n\xc0\x86\xb9+\x00\x0e\n\x0b\x80oHQ\x90\xe1D\x0e\x80d\xcc\x8b\x80\x05;\x11\x00\xec\xf4\xb606\xeb\x0e\x80\x17\x13D\xa0H[\n'
nchannels = 2
nframes = 48
sampwidth = 4
sndfilename = 'pluck-pcm32.wav'
sndfilenframes = 3307
class test.test_wave.WavePCM8Test(methodName='runTest')[source]

Bases: test.test_wave.WaveTest, unittest.case.TestCase

compname = 'not compressed'
comptype = 'NONE'
framerate = 11025
frames = b'\x82\x7f\xcb\x80\xb1\x84\x00\x88K\x86\xc8\x83?\x81\x83~8z4s\xa9k\x9afmdFb\x8e`o`\xd7b{h\x93oXw\x17{u|\x88{_{\x91z\xbe{<|\xe6\x7fO\x84\xc3\x89A\x8e\xd1\x92n\x97\x02\x96\xff\x94\x00\x92\xc9\x8e\xd2\x8do\x8fN\x8fd\x8c\xe3\x8a\x88\x8a\xab\x8b\xd1\x8e\x0b\x916\x8e\xc4\x8a'
nchannels = 2
nframes = 48
sampwidth = 1
sndfilename = 'pluck-pcm8.wav'
sndfilenframes = 3307
class test.test_wave.WaveTest[source]

Bases: test.audiotests.AudioWriteTests, test.audiotests.AudioTestsWithSourceFile

module = <module 'wave' from 'C:\\Python34\\lib\\wave.py'>

test.test_weakref module

class test.test_weakref.C[source]

Bases: object

method()[source]
class test.test_weakref.Callable[source]

Bases: object

bar = None
class test.test_weakref.FinalizeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

class A[source]

Bases: object

classmethod FinalizeTestCase.run_in_child()[source]
FinalizeTestCase.test_all_freed()[source]
FinalizeTestCase.test_atexit()[source]
FinalizeTestCase.test_finalize()[source]
FinalizeTestCase.test_order()[source]
class test.test_weakref.MappingTestCase(methodName='runTest')[source]

Bases: test.test_weakref.TestBase

COUNT = 10
check_iters(dict)[source]
check_len_cycles(dict_type, cons)[source]
check_len_race(dict_type, cons)[source]
check_popitem(klass, key1, value1, key2, value2)[source]
check_setdefault(klass, key, value1, value2)[source]
check_update(klass, dict)[source]
check_weak_destroy_and_mutate_while_iterating(dict, testcontext)[source]
check_weak_destroy_while_iterating(dict, objects, iter_name)[source]
make_weak_keyed_dict()[source]
make_weak_valued_dict()[source]
test_make_weak_keyed_dict_from_dict()[source]
test_make_weak_keyed_dict_from_weak_keyed_dict()[source]
test_make_weak_valued_dict_from_dict()[source]
test_make_weak_valued_dict_from_weak_valued_dict()[source]
test_weak_keyed_bad_delitem()[source]
test_weak_keyed_cascading_deletes()[source]
test_weak_keyed_delitem()[source]
test_weak_keyed_dict_popitem()[source]
test_weak_keyed_dict_setdefault()[source]
test_weak_keyed_dict_update()[source]
test_weak_keyed_iters()[source]
test_weak_keyed_len_cycles()[source]
test_weak_keyed_len_race()[source]
test_weak_keys()[source]
test_weak_keys_destroy_while_iterating()[source]
test_weak_valued_delitem()[source]
test_weak_valued_dict_popitem()[source]
test_weak_valued_dict_setdefault()[source]
test_weak_valued_dict_update()[source]
test_weak_valued_iters()[source]
test_weak_valued_len_cycles()[source]
test_weak_valued_len_race()[source]
test_weak_values()[source]
test_weak_values_destroy_while_iterating()[source]
class test.test_weakref.Object(arg)[source]

Bases: object

other_method()[source]
some_method()[source]
class test.test_weakref.RefCycle[source]

Bases: object

class test.test_weakref.ReferencesTestCase(methodName='runTest')[source]

Bases: test.test_weakref.TestBase

check_basic_callback(factory)[source]
check_basic_ref(factory)[source]
check_gc_during_creation(makeref)[source]
check_proxy(o, proxy)[source]
check_shared_without_callback(makeref)[source]
test_basic_callback()[source]
test_basic_proxy()[source]
test_basic_ref()[source]
test_callable_proxy()[source]
test_callback_attribute()[source]
test_callback_attribute_after_deletion()[source]
test_callback_in_cycle_1()[source]
test_callback_in_cycle_2()[source]
test_callback_in_cycle_3()[source]
test_callback_in_cycle_4()[source]
test_callback_in_cycle_resurrection()[source]
test_callbacks_on_callback()[source]
test_callbacks_protected()[source]
test_classes()[source]
test_equality()[source]
test_gc_during_proxy_creation()[source]
test_gc_during_ref_creation()[source]
test_getweakrefcount()[source]
test_getweakrefs()[source]
test_hashing()[source]
test_init()[source]
test_multiple_callbacks()[source]
test_multiple_selfref_callbacks()[source]
test_newstyle_number_ops()[source]
test_ordering()[source]
test_proxy_bool()[source]
test_proxy_deletion()[source]
test_proxy_div()[source]
test_proxy_index()[source]
test_proxy_ref()[source]
test_proxy_reuse()[source]
test_proxy_unicode()[source]
test_ref_created_during_del()[source]
test_ref_reuse()[source]
test_set_callback_attribute()[source]
test_sf_bug_840829()[source]
test_shared_proxy_without_callback()[source]
test_shared_ref_without_callback()[source]
test_trashcan_16602()[source]
class test.test_weakref.SubclassableWeakrefTestCase(methodName='runTest')[source]

Bases: test.test_weakref.TestBase

test_subclass_refs()[source]
test_subclass_refs_dont_conflate_callbacks()[source]
test_subclass_refs_dont_replace_standard_refs()[source]
test_subclass_refs_with_cycle()[source]
test_subclass_refs_with_slots()[source]
class test.test_weakref.TestBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

callback(ref)[source]
setUp()[source]
class test.test_weakref.WeakKeyDictionaryTestCase(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

Check that WeakKeyDictionary conforms to the mapping protocol

type2test

alias of WeakKeyDictionary

class test.test_weakref.WeakMethodTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_alive()[source]
test_callback_when_method_dead()[source]
test_callback_when_object_dead()[source]
test_equality()[source]
test_hashing()[source]
test_method_dead()[source]
test_no_cycles()[source]
test_object_dead()[source]
class test.test_weakref.WeakValueDictionaryTestCase(*args, **kw)[source]

Bases: test.mapping_tests.BasicTestMappingProtocol

Check that WeakValueDictionary conforms to the mapping protocol

type2test

alias of WeakValueDictionary

test.test_weakref.create_bound_method()[source]
test.test_weakref.create_function()[source]
test.test_weakref.test_main()[source]

test.test_weakset module

class test.test_weakset.Foo[source]

Bases: object

class test.test_weakset.RefCycle[source]

Bases: object

class test.test_weakset.TestWeakSet(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_add()[source]
test_and()[source]
test_clear()[source]
test_constructor_identity()[source]
test_contains()[source]
test_copy()[source]
test_difference()[source]
test_difference_update()[source]
test_discard()[source]
test_eq()[source]
test_gc()[source]
test_gt()[source]
test_hash()[source]
test_iand()[source]
test_init()[source]
test_inplace_on_self()[source]
test_intersection()[source]
test_intersection_update()[source]
test_ior()[source]
test_isdisjoint()[source]
test_isub()[source]
test_ixor()[source]
test_len()[source]
test_len_cycles()[source]
test_len_race()[source]
test_lt()[source]
test_methods()[source]
test_ne()[source]
test_new_or_init()[source]
test_or()[source]
test_pop()[source]
test_remove()[source]
test_sub()[source]
test_sub_and_super()[source]
test_subclass_with_custom_hash()[source]
test_symmetric_difference()[source]
test_symmetric_difference_update()[source]
test_union()[source]
test_update()[source]
test_update_set()[source]
test_weak_destroy_and_mutate_while_iterating()[source]
test_weak_destroy_while_iterating()[source]
test_xor()[source]
test.test_weakset.test_main(verbose=None)[source]

test.test_webbrowser module

class test.test_webbrowser.BackgroundBrowserCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of BackgroundBrowser

test_open()[source]
class test.test_webbrowser.ChromeCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of Chrome

test_open()[source]
test_open_new()[source]
test_open_new_tab()[source]
test_open_with_autoraise_false()[source]
class test.test_webbrowser.CommandTestMixin[source]

Bases: object

class test.test_webbrowser.ELinksCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of Elinks

test_open()[source]
test_open_new()[source]
test_open_new_tab()[source]
test_open_with_autoraise_false()[source]
class test.test_webbrowser.GaleonCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of Galeon

test_open()[source]
test_open_new()[source]
test_open_new_tab()[source]
test_open_with_autoraise_false()[source]
class test.test_webbrowser.GenericBrowserCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of GenericBrowser

test_open()[source]
class test.test_webbrowser.MozillaCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of Mozilla

test_open()[source]
test_open_new()[source]
test_open_new_tab()[source]
test_open_with_autoraise_false()[source]
class test.test_webbrowser.OperaCommandTest(methodName='runTest')[source]

Bases: test.test_webbrowser.CommandTestMixin, unittest.case.TestCase

browser_class

alias of Opera

test_open()[source]
test_open_new()[source]
test_open_new_tab()[source]
test_open_with_autoraise_false()[source]
class test.test_webbrowser.PopenMock(*args, **kw)[source]

Bases: unittest.mock.MagicMock

poll()[source]
wait(seconds=None)[source]

test.test_winreg module

class test.test_winreg.BaseWinregTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

delete_tree(root, subkey)[source]
setUp()[source]
class test.test_winreg.LocalWinregTests(methodName='runTest')[source]

Bases: test.test_winreg.BaseWinregTests

testExpandEnvironmentStrings()[source]
test_changing_value()[source]
test_connect_registry_to_local_machine_works()[source]
test_context_manager()[source]
test_dynamic_key()[source]
test_inexistant_remote_registry()[source]
test_long_key()[source]
test_named_arguments()[source]
test_queryvalueex_return_value()[source]
test_reflection_unsupported()[source]
test_registry_works()[source]
test_registry_works_extended_functions()[source]
test_setvalueex_crash_with_none_arg()[source]
test_setvalueex_value_range()[source]
class test.test_winreg.RemoteWinregTests(methodName='runTest')[source]

Bases: test.test_winreg.BaseWinregTests

test_remote_registry_works()[source]
class test.test_winreg.Win64WinregTests(methodName='runTest')[source]

Bases: test.test_winreg.BaseWinregTests

test_disable_reflection()[source]
test_exception_numbers()[source]
test_named_arguments()[source]
test_reflection()[source]
test_reflection_functions()[source]
test.test_winreg.test_main()[source]

test.test_winsound module

class test.test_winsound.BeepTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_errors()[source]
test_extremes()[source]
test_increasingfrequency()[source]
class test.test_winsound.MessageBeepTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
test_asterisk()[source]
test_default()[source]
test_exclamation()[source]
test_hand()[source]
test_ok()[source]
test_question()[source]
class test.test_winsound.PlaySoundTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_alias_asterisk()[source]
test_alias_exclamation()[source]
test_alias_exit()[source]
test_alias_fallback()[source]
test_alias_hand()[source]
test_alias_nofallback()[source]
test_alias_question()[source]
test_errors()[source]
test_stopasync()[source]
test.test_winsound.has_sound(sound)[source]

Find out if a particular event is configured with a default sound

test.test_winsound.test_main()[source]

test.test_with module

Unit tests for the with statement specified in PEP 343.

class test.test_with.AssignmentTargetTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

testMultipleComplexTargets()[source]
testSingleComplexTarget()[source]
class test.test_with.ContextmanagerAssertionMixin[source]

Bases: object

assertAfterWithGeneratorInvariantsNoError(mock_generator)[source]
assertAfterWithGeneratorInvariantsWithError(mock_generator)[source]
assertAfterWithManagerInvariants(mock_manager, exit_args)[source]
assertAfterWithManagerInvariantsNoError(mock_manager)[source]
assertAfterWithManagerInvariantsWithError(mock_manager, exc_type=None)[source]
assertInWithGeneratorInvariants(mock_generator)[source]
assertInWithManagerInvariants(mock_manager)[source]
raiseTestException()[source]
setUp()[source]
class test.test_with.ExceptionalTestCase(methodName='runTest')[source]

Bases: test.test_with.ContextmanagerAssertionMixin, unittest.case.TestCase

testErrorsInBool()[source]
testExceptionNormalized()[source]
testMultipleResourcesInSingleStatement()[source]
testNestedExceptionAfterInnerStatement()[source]
testNestedExceptionBeforeInnerStatement()[source]
testNestedSingleStatements()[source]
testRaisedGeneratorExit1()[source]
testRaisedGeneratorExit2()[source]
testRaisedStopIteration1()[source]
testRaisedStopIteration2()[source]
testRaisedStopIteration3()[source]
testSingleResource()[source]
class test.test_with.ExitSwallowsExceptionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

testExitFalseDoesntSwallowException()[source]
testExitTrueSwallowsException()[source]
class test.test_with.FailureTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertRaisesSyntaxError(codestr)[source]
testAssignmentToEmptyTupleError()[source]
testAssignmentToNoneError()[source]
testAssignmentToTupleContainingNoneError()[source]
testAssignmentToTupleOnlyContainingNoneError()[source]
testEnterAttributeError()[source]
testEnterThrows()[source]
testExitAttributeError()[source]
testExitThrows()[source]
testNameError()[source]
class test.test_with.MockContextManager(func, *args, **kwds)[source]

Bases: contextlib._GeneratorContextManager

class test.test_with.MockNested(*managers)[source]

Bases: test.test_with.Nested

class test.test_with.MockResource[source]

Bases: object

class test.test_with.Nested(*managers)[source]

Bases: object

class test.test_with.NestedNonexceptionalTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_with.ContextmanagerAssertionMixin

testMultipleArgBound()[source]
testMultipleArgUnbound()[source]
testSingleArgBoundToMultipleElementTupleError()[source]
testSingleArgBoundToNonTuple()[source]
testSingleArgBoundToSingleElementParenthesizedList()[source]
testSingleArgInlineGeneratorSyntax()[source]
testSingleArgUnbound()[source]
class test.test_with.NestedWith(methodName='runTest')[source]

Bases: unittest.case.TestCase

class Dummy(value=None, gobble=False)[source]

Bases: object

class NestedWith.EnterRaises[source]

Bases: object

class NestedWith.ExitRaises[source]

Bases: object

class NestedWith.InitRaises[source]

Bases: object

NestedWith.testEnterReturnsTuple()[source]
NestedWith.testExceptionInEnter()[source]
NestedWith.testExceptionInExit()[source]
NestedWith.testExceptionInExprList()[source]
NestedWith.testNoExceptions()[source]
class test.test_with.NonLocalFlowControlTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

testWithBreak()[source]
testWithContinue()[source]
testWithRaise()[source]
testWithReturn()[source]
testWithYield()[source]
class test.test_with.NonexceptionalTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase, test.test_with.ContextmanagerAssertionMixin

testBoundGenerator()[source]
testInlineGeneratorBoundSyntax()[source]
testInlineGeneratorBoundToDottedVariable()[source]
testInlineGeneratorBoundToExistingVariable()[source]
testInlineGeneratorSyntax()[source]
testNestedSingleStatements()[source]
testUnboundGenerator()[source]
test.test_with.mock_contextmanager(func)[source]
test.test_with.mock_contextmanager_generator(*args, **kwds)[source]
test.test_with.test_main()[source]

test.test_wsgiref module

class test.test_wsgiref.ErrorHandler(**kw)[source]

Bases: wsgiref.handlers.BaseCGIHandler

Simple handler subclass for testing BaseHandler

os_environ = {'TK_LIBRARY': 'C:\\Python34\\tcl\\tk8.6', 'PHP_PEAR_WWW_DIR': 'C:\\xampp\\php\\www', '_OLD_VIRTUAL_PATH': ';C:\\xampp\\;C:\\xampp\\php;C:\\xampp\\perl\\site\\bin;C:\\xampp\\perl\\bin;C:\\xampp\\apache\\bin;C:\\xampp\\mysql\\bin;C:\\xampp\\FileZillaFTP;C:\\xampp\\MercuryMail;C:\\xampp\\sendmail;C:\\xampp\\webalizer;C:\\xampp\\tomcat\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\QuickTime\\QTSystem\\;C:\\RailsInstaller\\Git\\cmd;C:\\RailsInstaller\\Ruby2.1.0\\bin;C:\\Users\\student\\AppData\\Local\\Google\\Chrome\\Application;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\QuickTime\\QTSystem\\', 'MIBDIRS': 'C:/xampp/php/extras/mibs', 'DEFLOGDIR': 'C:\\ProgramData\\McAfee\\DesktopProtection', 'LDMS_LOCAL_DIR': 'C:\\Program Files\\LANDesk\\LDClient\\Data', 'VIRTUAL_ENV': 'C:\\xampp\\htdocs\\docs-python', 'FP_NO_HOST_CHECK': 'NO', 'PHP_PEAR_DOC_DIR': 'C:\\xampp\\php\\docs', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'HOMEPATH': '\\Users\\student', 'SYSTEMROOT': 'C:\\Windows', 'PHP_PEAR_PHP_BIN': 'C:\\xampp\\php\\php.exe', 'NUMBER_OF_PROCESSORS': '4', 'USERNAME': 'Student', 'PHP_PEAR_TEST_DIR': 'C:\\xampp\\php\\tests', 'HOMEDRIVE': 'C:', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'TMP': 'C:\\xampp\\tmp', 'PSMODULEPATH': 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'PHP_PEAR_SYSCONF_DIR': 'C:\\xampp\\php', 'LOCALAPPDATA': 'C:\\Users\\student\\AppData\\Local', 'USERDOMAIN': 'STUDENTS', 'USERDNSDOMAIN': 'STUDENTS.DC_SCHOOLS.K12.DC.US', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROGRAMFILES': 'C:\\Program Files', 'PHP_PEAR_CFG_DIR': 'C:\\xampp\\php\\cfg', 'USERPROFILE': 'C:\\Users\\student', 'TCL_LIBRARY': 'C:\\Python34\\tcl\\tcl8.6', 'MYSQL_HOME': 'C:\\xampp\\mysql\\bin', 'PHP_PEAR_INSTALL_DIR': 'C:\\xampp\\php\\pear', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'LOGONSERVER': '\\\\STUDENTSDC02', '_OLD_VIRTUAL_PROMPT': 'Student@458S-G76T9Y1$S$P$_#$S', 'PHPRC': 'C:\\xampp\\php', 'VSEDEFLOGDIR': 'C:\\ProgramData\\McAfee\\DesktopProtection', 'COMPUTERNAME': '458S-G76T9Y1', 'TIX_LIBRARY': 'C:\\Python34\\tcl\\tix8.4.3', 'PROCESSOR_REVISION': '3a09', 'TEMP': 'C:\\Users\\student\\AppData\\Local\\Temp', 'PHP_PEAR_BIN_DIR': 'C:\\xampp\\php', 'PUBLIC': 'C:\\Users\\Public', 'PROCESSOR_ARCHITECTURE': 'x86', 'PROMPT': '(docs-python) Student@458S-G76T9Y1$S$P$_#$S', 'OPENSSL_CONF': 'C:/xampp/apache/bin/openssl.cnf', 'PHP_PEAR_DATA_DIR': 'C:\\xampp\\php\\data', 'PROCESSOR_IDENTIFIER': 'x86 Family 6 Model 58 Stepping 9, GenuineIntel', 'APPDATA': 'C:\\Users\\student\\AppData\\Roaming', 'PROGRAMDATA': 'C:\\ProgramData', 'PATH': 'C:\\xampp\\htdocs\\docs-python\\Scripts;;C:\\xampp\\;C:\\xampp\\php;C:\\xampp\\perl\\site\\bin;C:\\xampp\\perl\\bin;C:\\xampp\\apache\\bin;C:\\xampp\\mysql\\bin;C:\\xampp\\FileZillaFTP;C:\\xampp\\MercuryMail;C:\\xampp\\sendmail;C:\\xampp\\webalizer;C:\\xampp\\tomcat\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\QuickTime\\QTSystem\\;C:\\RailsInstaller\\Git\\cmd;C:\\RailsInstaller\\Ruby2.1.0\\bin;C:\\Users\\student\\AppData\\Local\\Google\\Chrome\\Application;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\QuickTime\\QTSystem\\', 'OS': 'Windows_NT', 'WINDIR': 'C:\\Windows', 'PROCESSOR_LEVEL': '6'}
class test.test_wsgiref.HandlerTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkEnvironAttrs(handler)[source]
checkOSEnviron(handler)[source]
testAbstractMethods()[source]
testBasicErrorOutput()[source]
testBytesData()[source]
testCGIEnviron()[source]
testCloseOnError()[source]
testContentLength()[source]
testEnviron()[source]
testErrorAfterOutput()[source]
testHeaderFormats()[source]
testScheme()[source]
class test.test_wsgiref.HeaderTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

testExtras()[source]
testMappingInterface()[source]
testRequireList()[source]
class test.test_wsgiref.IntegrationTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_hello(out, has_length=True)[source]
test_bytes_validation()[source]
test_plain_hello()[source]
test_request_length()[source]
test_simple_validation_error()[source]
test_validated_hello()[source]
test_wsgi_input()[source]
class test.test_wsgiref.MockHandler(request, client_address, server)[source]

Bases: wsgiref.simple_server.WSGIRequestHandler

Non-socket HTTP handler

finish()[source]
setup()[source]
class test.test_wsgiref.MockServer(server_address, RequestHandlerClass)[source]

Bases: wsgiref.simple_server.WSGIServer

Non-socket HTTP server

server_bind()[source]
class test.test_wsgiref.TestHandler(**kw)[source]

Bases: test.test_wsgiref.ErrorHandler

Simple handler subclass for testing BaseHandler, w/error passthru

handle_error()[source]
class test.test_wsgiref.UtilityTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

checkAppURI(uri, **kw)[source]
checkCrossDefault(key, value, **kw)[source]
checkDefault(key, value, alt=None)[source]
checkFW(text, size, match)[source]
checkReqURI(uri, query=1, **kw)[source]
checkShift(sn_in, pi_in, part, sn_out, pi_out)[source]
testAppURIs()[source]
testCrossDefaults()[source]
testDefaults()[source]
testFileWrapper()[source]
testGuessScheme()[source]
testHopByHop()[source]
testNormalizedShifts()[source]
testReqURIs()[source]
testSimpleShifts()[source]
test.test_wsgiref.compare_generic_iter(make_it, match)[source]

Utility to compare a generic 2.1/2.2+ iterator with an iterable

If running under Python 2.2+, this tests the iterator using iter()/next(), as well as __getitem__. ‘make_it’ must be a function returning a fresh iterator to be tested (since this may test the iterator twice).

test.test_wsgiref.hello_app(environ, start_response)[source]
test.test_wsgiref.run_amock(app=<function hello_app at 0x2DF652B8>, data=b'GET / HTTP/1.0\n\n')[source]
test.test_wsgiref.test_main()[source]

test.test_xdrlib module

class test.test_xdrlib.XDRTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_xdr()[source]
test.test_xdrlib.test_main()[source]

test.test_xml_dom_minicompat module

class test.test_xml_dom_minicompat.EmptyNodeListTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for the EmptyNodeList class.

test_emptynodelist___add__()[source]
test_emptynodelist___radd__()[source]
test_emptynodelist_item()[source]
test_emptynodelist_length()[source]
class test.test_xml_dom_minicompat.NodeListTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests for the NodeList class.

test_nodelist___add__()[source]
test_nodelist___radd__()[source]
test_nodelist_item()[source]
test_nodelist_length()[source]
test_nodelist_pickle_roundtrip()[source]

test.test_xml_etree module

class test.test_xml_etree.BasicElementTest(methodName='runTest')[source]

Bases: test.test_xml_etree.ElementTestCase, unittest.case.TestCase

test_augmentation_type_errors()[source]
test_cyclic_gc()[source]
test_get_keyword_args()[source]
test_pickle()[source]
test_pickle_issue18997()[source]
test_weakref()[source]
class test.test_xml_etree.BugsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug_1534630()[source]
test_bug_200708_close()[source]
test_bug_200708_newline()[source]
test_bug_200709_default_namespace()[source]
test_bug_200709_element_comment()[source]
test_bug_200709_element_insert()[source]
test_bug_200709_iter_comment()[source]
test_bug_200709_register_namespace()[source]
test_bug_xmltoolkit21()[source]
test_bug_xmltoolkit25()[source]
test_bug_xmltoolkit28()[source]
test_bug_xmltoolkit39()[source]
test_bug_xmltoolkit54()[source]
test_bug_xmltoolkit55()[source]
test_bug_xmltoolkit60()[source]
test_bug_xmltoolkit62()[source]
test_bug_xmltoolkit63()[source]
test_bug_xmltoolkitX1()[source]
test_issue10777()[source]
test_issue3151()[source]
test_issue6233()[source]
test_issue6565()[source]
class test.test_xml_etree.CleanContext(quiet=False)[source]

Bases: object

Provide default namespace mapping and path cache.

checkwarnings = None
class test.test_xml_etree.ElementFindTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bad_find()[source]
test_find_simple()[source]
test_find_through_ElementTree()[source]
test_find_xpath()[source]
test_findall()[source]
test_findall_different_nsmaps()[source]
test_test_find_with_ns()[source]
class test.test_xml_etree.ElementIterTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_basic()[source]
test_corners()[source]
test_iter_by_tag()[source]
class test.test_xml_etree.ElementSlicingTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_delslice()[source]
test_getslice_negative_steps()[source]
test_getslice_range()[source]
test_getslice_single_index()[source]
test_getslice_steps()[source]
class test.test_xml_etree.ElementTestCase[source]

Bases: object

assertEqualElements(alice, bob)[source]
pickleRoundTrip(obj, name, dumper, loader)[source]
classmethod setUpClass()[source]
class test.test_xml_etree.ElementTreeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

serialize_check(elem, expected)[source]
test_attrib()[source]
test_cdata()[source]
test_copy()[source]
test_custom_builder()[source]
test_doctype_public()[source]
test_encoding()[source]
test_entity()[source]
test_file_init()[source]
test_getchildren()[source]
test_html_empty_elems_serialization()[source]
test_interface()[source]
test_issue18347()[source]
test_iterparse()[source]
test_makeelement()[source]
test_methods()[source]
test_namespace()[source]
test_parsefile()[source]
test_parseliteral()[source]
test_path_cache()[source]
test_processinginstruction()[source]
test_qname()[source]
test_simpleops()[source]
test_writefile()[source]
test_writestring()[source]
test_xpath_tokenizer()[source]
class test.test_xml_etree.ElementTreeTypeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_Element_subclass_constructor()[source]
test_Element_subclass_new_method()[source]
test_Element_subclass_trivial()[source]
test_istype()[source]
class test.test_xml_etree.IOTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

class dummy[source]

Bases: object

IOTest.tearDown()[source]
IOTest.test_encoding()[source]
IOTest.test_read_from_bytesio()[source]
IOTest.test_read_from_stringio()[source]
IOTest.test_read_from_user_binary_reader()[source]
IOTest.test_read_from_user_text_reader()[source]
IOTest.test_short_empty_elements()[source]
IOTest.test_tostringlist_invariant()[source]
IOTest.test_write_to_binary_file()[source]
IOTest.test_write_to_binary_file_with_bom()[source]
IOTest.test_write_to_bytesio()[source]
IOTest.test_write_to_filename()[source]
IOTest.test_write_to_stringio()[source]
IOTest.test_write_to_text_file()[source]
IOTest.test_write_to_user_binary_writer()[source]
IOTest.test_write_to_user_binary_writer_with_bom()[source]
IOTest.test_write_to_user_text_writer()[source]
class test.test_xml_etree.KeywordArgsTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_issue14818()[source]
class test.test_xml_etree.ModuleTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_sanity()[source]
class test.test_xml_etree.NamespaceParseTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_find_with_namespace()[source]
class test.test_xml_etree.NoAcceleratorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_correct_import_pyET()[source]
class test.test_xml_etree.ParseErrorTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_error_code()[source]
test_error_position()[source]
test_subclass()[source]
class test.test_xml_etree.TreeBuilderTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

sample1 = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>text<div>subtext</div>tail</html>'
sample2 = '<toplevel>sometext</toplevel>'
test_doctype()[source]
test_dummy_builder()[source]
test_element_factory()[source]
test_element_factory_pure_python_subclass()[source]
test_element_factory_subclass()[source]
test_subclass()[source]
test_treebuilder_elementfactory_none()[source]
class test.test_xml_etree.XIncludeTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

none_loader(href, parser, encoding=None)[source]
test_xinclude()[source]
test_xinclude_default()[source]
test_xinclude_failures()[source]
xinclude_loader(href, parse='xml', encoding=None)[source]
class test.test_xml_etree.XMLParserTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

sample1 = b'<file><line>22</line></file>'
sample2 = b'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>text</html>'
sample3 = '<?xml version="1.0" encoding="iso-8859-1"?>\n<money value="$£€𐅻">$£€𐅻</money>'
test_constructor_args()[source]
test_parse_string()[source]
test_subclass()[source]
test_subclass_doctype()[source]
class test.test_xml_etree.XMLPullParserTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

assert_event_tags(parser, expected)[source]
test_events()[source]
test_events_sequence()[source]
test_feed_while_iterating()[source]
test_ns_events()[source]
test_simple_xml()[source]
test_simple_xml_with_ns()[source]
test_unknown_event()[source]
test.test_xml_etree.serialize(elem, to_string=True, encoding='unicode', **options)[source]
test.test_xml_etree.summarize_list(seq)[source]
test.test_xml_etree.test_main(module=None)[source]

test.test_xml_etree_c module

class test.test_xml_etree_c.MiscTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_length_overflow()
class test.test_xml_etree_c.SizeofTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_sizeof(test, o, size)
setUp()[source]
test_element()[source]
test_element_with_attrib()[source]
test_element_with_children()[source]
class test.test_xml_etree_c.TestAcceleratorImported(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_correct_import_cET()[source]
test_correct_import_cET_alias()[source]
test_parser_comes_from_C()[source]
class test.test_xml_etree_c.TestAliasWorking(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_alias_working()[source]
test.test_xml_etree_c.test_main()[source]

test.test_xmlrpc module

class test.test_xmlrpc.BaseKeepaliveServerTestCase(methodName='runTest')[source]

Bases: test.test_xmlrpc.BaseServerTestCase

class RequestHandler(request, client_address, server)[source]

Bases: xmlrpc.server.SimpleXMLRPCRequestHandler

handle()[source]
handle_one_request()[source]
myRequests = []
parentClass

alias of SimpleXMLRPCRequestHandler

protocol_version = 'HTTP/1.1'
BaseKeepaliveServerTestCase.requestHandler

alias of RequestHandler

BaseKeepaliveServerTestCase.setUp()[source]
class test.test_xmlrpc.BaseServerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

requestHandler = None
request_count = 1
setUp()[source]
tearDown()[source]
static threadFunc(evt, numrequests, requestHandler=None)
class test.test_xmlrpc.BinaryTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_decode()[source]
test_default()[source]
test_string()[source]
class test.test_xmlrpc.CGIHandlerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_cgi_get()[source]
test_cgi_xmlrpc_response()[source]
class test.test_xmlrpc.DateTimeTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_comparison()[source]
test_datetime_datetime()[source]
test_decode()[source]
test_default()[source]
test_repr()[source]
test_time()[source]
test_time_struct()[source]
test_time_tuple()[source]
class test.test_xmlrpc.FailingMessageClass(policy=Compat32())[source]

Bases: http.client.HTTPMessage

get(key, failobj=None)[source]
class test.test_xmlrpc.FailingServerTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_basic()[source]
test_fail_no_info()[source]
test_fail_with_info()[source]
class test.test_xmlrpc.FaultTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_dotted_attribute()[source]
test_dump_fault()[source]
test_repr()[source]
class test.test_xmlrpc.GzipServerTestCase(methodName='runTest')[source]

Bases: test.test_xmlrpc.BaseServerTestCase

class RequestHandler(request, client_address, server)[source]

Bases: xmlrpc.server.SimpleXMLRPCRequestHandler

do_POST()[source]
parentClass

alias of SimpleXMLRPCRequestHandler

protocol_version = 'HTTP/1.1'
class GzipServerTestCase.Transport(use_datetime=False, use_builtin_types=False)[source]

Bases: xmlrpc.client.Transport

fake_gzip = False
parse_response(response)[source]
send_content(connection, body)[source]
GzipServerTestCase.requestHandler

alias of RequestHandler

GzipServerTestCase.setUp()[source]
GzipServerTestCase.test_bad_gzip_request()[source]
GzipServerTestCase.test_gsip_response()[source]
GzipServerTestCase.test_gzip_request()[source]
class test.test_xmlrpc.HelperTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_escape()[source]
class test.test_xmlrpc.KeepaliveServerTestCase1(methodName='runTest')[source]

Bases: test.test_xmlrpc.BaseKeepaliveServerTestCase

test_two()[source]
class test.test_xmlrpc.KeepaliveServerTestCase2(methodName='runTest')[source]

Bases: test.test_xmlrpc.BaseKeepaliveServerTestCase

request_count = 2
test_close()[source]
test_transport()[source]
class test.test_xmlrpc.MultiPathServerTestCase(methodName='runTest')[source]

Bases: test.test_xmlrpc.BaseServerTestCase

request_count = 2
test_path1()[source]
test_path2()[source]
test_path3()[source]
static threadFunc(evt, numrequests, requestHandler=None)
class test.test_xmlrpc.ServerProxyTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_close()[source]
test_transport()[source]
class test.test_xmlrpc.SimpleServerTestCase(methodName='runTest')[source]

Bases: test.test_xmlrpc.BaseServerTestCase

XXXtest_404()[source]
test_allow_dotted_names_true()[source]
test_dotted_attribute()[source]
test_introspection1()[source]
test_introspection2()[source]
test_introspection3()[source]
test_introspection4()[source]
test_multicall()[source]
test_non_existing_multicall()[source]
test_nonascii()[source]
test_partial_post()[source]
test_simple1()[source]
test_unicode_host()[source]
class test.test_xmlrpc.UseBuiltinTypesTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_cgihandler_has_use_builtin_types_flag()[source]
test_use_builtin_types()[source]
test_xmlrpcserver_has_use_builtin_types_flag()[source]
class test.test_xmlrpc.XMLRPCTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_bug_1164912()[source]
test_datetime_before_1900()[source]
test_dump_bad_dict()[source]
test_dump_bare_datetime()[source]
test_dump_big_int()[source]
test_dump_big_long()[source]
test_dump_bytes()[source]
test_dump_double()[source]
test_dump_load()[source]
test_dump_none()[source]
test_dump_recursive_dict()[source]
test_dump_recursive_seq()[source]
test_get_host_info()[source]
test_newstyle_class()[source]
test_ssl_presence()[source]
test.test_xmlrpc.captured_stdout(encoding='utf-8')[source]

A variation on support.captured_stdout() which gives a text stream having a buffer attribute.

test.test_xmlrpc.http_multi_server(evt, numrequests, requestHandler=None)[source]
test.test_xmlrpc.http_server(evt, numrequests, requestHandler=None)[source]
test.test_xmlrpc.is_unavailable_exception(e)[source]

Returns True if the given ProtocolError is the product of a server-side exception caused by the ‘temporarily unavailable’ response sometimes given by operations on non-blocking sockets.

test.test_xmlrpc.make_request_and_skipIf(condition, reason)[source]
test.test_xmlrpc.test_main()[source]

test.test_xmlrpc_net module

class test.test_xmlrpc_net.PythonBuildersTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_python_builders()[source]
test.test_xmlrpc_net.test_main()[source]

test.test_zipfile module

class test.test_zipfile.AbstractBadCrcTests[source]

Bases: object

test_read_with_bad_crc()[source]

Tests that files with bad CRCs raise a BadZipFile exception when read.

test_testzip_with_bad_crc()[source]

Tests that files with bad CRCs return their name from testzip.

class test.test_zipfile.AbstractTestZip64InSmallFiles[source]

Bases: object

setUp()[source]
classmethod setUpClass()[source]
tearDown()[source]
test_basic()[source]
zip_test(f, compression)[source]
class test.test_zipfile.AbstractTestsWithRandomBinaryFiles[source]

Bases: object

make_test_archive(f, compression)[source]
setUp()[source]
classmethod setUpClass()[source]
tearDown()[source]
test_open()[source]
test_random_open()[source]
test_read()[source]
zip_open_test(f, compression)[source]
zip_random_open_test(f, compression)[source]
zip_test(f, compression)[source]
class test.test_zipfile.AbstractTestsWithSourceFile[source]

Bases: object

make_test_archive(f, compression)[source]
setUp()[source]
classmethod setUpClass()[source]
tearDown()[source]
test_basic()[source]
test_iterlines()[source]
test_low_compression()[source]

Check for cases where compressed data is larger than original.

test_open()[source]
test_random_open()[source]
test_read1()[source]
test_read1_10()[source]
test_read_return_size()[source]
test_readline()[source]
test_readline_read()[source]
test_readlines()[source]
test_truncated_zipfile()[source]
test_writestr_compression()[source]
zip_iterlines_test(f, compression)[source]
zip_open_test(f, compression)[source]
zip_random_open_test(f, compression)[source]
zip_read1_10_test(f, compression)[source]
zip_read1_test(f, compression)[source]
zip_readline_read_test(f, compression)[source]
zip_readline_test(f, compression)[source]
zip_readlines_test(f, compression)[source]
zip_test(f, compression)[source]
class test.test_zipfile.AbstractUniversalNewlineTests[source]

Bases: object

iterlines_test(f, compression)[source]
make_test_archive(f, compression)[source]
read_test(f, compression)[source]
readline_read_test(f, compression)[source]
readline_test(f, compression)[source]
readlines_test(f, compression)[source]
setUp()[source]
classmethod setUpClass()[source]
tearDown()[source]
test_iterlines()[source]
test_read()[source]
test_readline()[source]
test_readline_read()[source]
test_readlines()[source]
class test.test_zipfile.Bzip2BadCrcTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractBadCrcTests, unittest.case.TestCase

compression = 12
zip_with_bad_crc = b'PK\x03\x04\x14\x03\x00\x00\x0c\x00nu\x0c=FAKE8\x00\x00\x00n\x00\x00\x00\x05\x00\x00\x00afileBZh91AY&SY\xd4\xa8\xca\x7f\x00\x00\x0f\x11\x80@\x00\x06D\x90\x80 \x00 \xa5P\xd9!\x03\x03\x13\x13\x13\x89\xa9\xa9\xc2u5:\x9f\x8b\xb9"\x9c(HjTe?\x80PK\x01\x02\x14\x03\x14\x03\x00\x00\x0c\x00nu\x0c=FAKE8\x00\x00\x00n\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x80\x80\x81\x00\x00\x00\x00afilePK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x003\x00\x00\x00[\x00\x00\x00\x00\x00'
class test.test_zipfile.Bzip2TestZip64InSmallFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestZip64InSmallFiles, unittest.case.TestCase

compression = 12
class test.test_zipfile.Bzip2TestsWithRandomBinaryFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithRandomBinaryFiles, unittest.case.TestCase

compression = 12
class test.test_zipfile.Bzip2TestsWithSourceFile(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithSourceFile, unittest.case.TestCase

compression = 12
class test.test_zipfile.Bzip2UniversalNewlineTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractUniversalNewlineTests, unittest.case.TestCase

compression = 12
class test.test_zipfile.DecryptionTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

Check that ZIP decryption works. Since the library does not support encryption at the moment, we use a pre-generated encrypted ZIP file.

data = b'PK\x03\x04\x14\x00\x01\x00\x00\x00n\x92i.#y\xef?&\x00\x00\x00\x1a\x00\x00\x00\x08\x00\x00\x00test.txt\xfa\x10\xa0gly|\xfa-\xc5\xc0=\xf9y\x18\xe0\xa8r\xb3Z}Lg\xbc\xae\xf9|\x9b\x19\xe4\x8b\xba\xbb)\x8c\xb0\xdblPK\x01\x02\x14\x00\x14\x00\x01\x00\x00\x00n\x92i.#y\xef?&\x00\x00\x00\x1a\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x01\x00 \x00\xb6\x81\x00\x00\x00\x00test.txtPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x006\x00\x00\x00L\x00\x00\x00\x00\x00'
data2 = b'PK\x03\x04\x14\x00\t\x00\x08\x00\xcf}38xu\xaa\xb2\x14\x00\x00\x00\x00\x02\x00\x00\x04\x00\x15\x00zeroUT\t\x00\x03\xd6\x8b\x92G\xda\x8b\x92GUx\x04\x00\xe8\x03\xe8\x03\xc7<M\xb5a\xceX\xa3Y&\x8b{oE\xd7\x9d\x8c\x98\x02\xc0PK\x07\x08xu\xaa\xb2\x14\x00\x00\x00\x00\x02\x00\x00PK\x01\x02\x17\x03\x14\x00\t\x00\x08\x00\xcf}38xu\xaa\xb2\x14\x00\x00\x00\x00\x02\x00\x00\x04\x00\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00zeroUT\x05\x00\x03\xd6\x8b\x92GUx\x00\x00PK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00?\x00\x00\x00[\x00\x00\x00\x00\x00'
plain = b'zipfile.py encryption test'
plain2 = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
setUp()[source]
tearDown()[source]
test_bad_password()[source]
test_good_password()[source]
test_no_password()[source]
test_unicode_password()[source]
class test.test_zipfile.DeflateBadCrcTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractBadCrcTests, unittest.case.TestCase

compression = 8
zip_with_bad_crc = b'PK\x03\x04\x14\x00\x00\x00\x08\x00n}\x0c=FAKE\x10\x00\x00\x00n\x00\x00\x00\x05\x00\x00\x00afile\xcbH\xcd\xc9\xc9W(\xcf/\xcaI\xc9\xa0=\x13\x00PK\x01\x02\x14\x03\x14\x00\x00\x00\x08\x00n}\x0c=FAKE\x10\x00\x00\x00n\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00afilePK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x003\x00\x00\x003\x00\x00\x00\x00\x00'
class test.test_zipfile.DeflateTestZip64InSmallFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestZip64InSmallFiles, unittest.case.TestCase

compression = 8
class test.test_zipfile.DeflateTestsWithRandomBinaryFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithRandomBinaryFiles, unittest.case.TestCase

compression = 8
class test.test_zipfile.DeflateTestsWithSourceFile(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithSourceFile, unittest.case.TestCase

compression = 8
test_per_file_compression()[source]

Check that files within a Zip archive can have different compression options.

class test.test_zipfile.DeflateUniversalNewlineTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractUniversalNewlineTests, unittest.case.TestCase

compression = 8
class test.test_zipfile.ExtractTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_file(filename, content)[source]
test_extract()[source]
test_extract_all()[source]
test_extract_hackers_arcnames_common_cases()[source]
test_extract_hackers_arcnames_posix_only()[source]
test_extract_hackers_arcnames_windows_only()[source]

Test combination of path fixing and windows name sanitization.

test_sanitize_windows_name()[source]
class test.test_zipfile.LzmaBadCrcTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractBadCrcTests, unittest.case.TestCase

compression = 14
zip_with_bad_crc = b'PK\x03\x04\x14\x03\x00\x00\x0e\x00nu\x0c=FAKE\x1b\x00\x00\x00n\x00\x00\x00\x05\x00\x00\x00afile\t\x04\x05\x00]\x00\x00\x00\x04\x004\x19I\xee\x8d\xe9\x17\x89:3`\tq!.8\x00PK\x01\x02\x14\x03\x14\x03\x00\x00\x0e\x00nu\x0c=FAKE\x1b\x00\x00\x00n\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x80\x80\x81\x00\x00\x00\x00afilePK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x003\x00\x00\x00>\x00\x00\x00\x00\x00'
class test.test_zipfile.LzmaTestZip64InSmallFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestZip64InSmallFiles, unittest.case.TestCase

compression = 14
class test.test_zipfile.LzmaTestsWithRandomBinaryFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithRandomBinaryFiles, unittest.case.TestCase

compression = 14
class test.test_zipfile.LzmaTestsWithSourceFile(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithSourceFile, unittest.case.TestCase

compression = 14
class test.test_zipfile.LzmaUniversalNewlineTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractUniversalNewlineTests, unittest.case.TestCase

compression = 14
class test.test_zipfile.OtherTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
test_bad_compression_mode()[source]

Check that bad compression methods passed to ZipFile.open are caught.

test_bad_constructor_mode()[source]

Check that bad modes passed to ZipFile constructor are caught.

test_bad_open_mode()[source]

Check that bad modes passed to ZipFile.open are caught.

test_change_comment_in_empty_archive()[source]
test_change_comment_in_nonempty_archive()[source]
test_close()[source]

Check that the zipfile is closed after the ‘with’ block.

test_close_erroneous_file()[source]
test_close_on_exception()[source]

Check that the zipfile is closed if an exception is raised in the ‘with’ block.

test_closed_zip_raises_RuntimeError()[source]

Verify that testzip() doesn’t swallow inappropriate exceptions.

test_comments()[source]

Check that comments on the archive are handled properly.

test_create_non_existent_file_for_append()[source]
test_create_zipinfo_before_1980()[source]
test_damaged_zipfile()[source]

Check that zipfiles with missing bytes at the end raise BadZipFile.

test_empty_file_raises_BadZipFile()[source]
test_empty_zipfile()[source]
test_is_zip_erroneous_file()[source]

Check that is_zipfile() correctly identifies non-zip files.

test_is_zip_valid_file()[source]

Check that is_zipfile() correctly identifies zip files.

test_non_existent_file_raises_OSError()[source]
test_null_byte_in_filename()[source]

Check that a filename containing a null byte is properly terminated.

test_open_empty_file()[source]
test_open_non_existent_item()[source]

Check that attempting to call open() for an item that doesn’t exist in the archive raises a RuntimeError.

test_open_via_zip_info()[source]
test_read0()[source]

Check that calling read(0) on a ZipExtFile object returns an empty string and doesn’t advance file pointer.

test_read_unicode_filenames()[source]
test_struct_sizes()[source]

Check that ZIP internal structure sizes are calculated correctly.

test_unicode_comment()[source]
test_universal_deprecation()[source]
test_universal_readaheads()[source]
test_unsupported_compression()[source]
test_unsupported_version()[source]
test_write_unicode_filenames()[source]
test_writestr_extended_local_header_issue1202()[source]
test_zipfile_with_short_extra_field()[source]

If an extra field in the header is less than 4 bytes, skip it.

class test.test_zipfile.PyZipFileTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertCompiledIn(name, namelist)[source]
test_write_filtered_python_package()[source]
test_write_non_pyfile()[source]
test_write_pyfile()[source]
test_write_pyfile_bad_syntax()[source]
test_write_python_directory()[source]
test_write_python_directory_filtered()[source]
test_write_python_package()[source]
test_write_with_optimization()[source]
class test.test_zipfile.StoredBadCrcTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractBadCrcTests, unittest.case.TestCase

compression = 0
zip_with_bad_crc = b'PK\x03\x04\x14\x00\x00\x00\x00\x00 \x8b\x8a;:r\xab\xff\x0c\x00\x00\x00\x0c\x00\x00\x00\x05\x00\x00\x00afilehello,AworldPK\x01\x02\x14\x03\x14\x00\x00\x00\x00\x00 \x8b\x8a;:r\xab\xff\x0c\x00\x00\x00\x0c\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00afilePK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x003\x00\x00\x00/\x00\x00\x00\x00\x00'
class test.test_zipfile.StoredTestZip64InSmallFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestZip64InSmallFiles, unittest.case.TestCase

compression = 0
large_file_exception_test(f, compression)[source]
large_file_exception_test2(f, compression)[source]
test_absolute_arcnames()[source]
test_large_file_exception()[source]
class test.test_zipfile.StoredTestsWithRandomBinaryFiles(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithRandomBinaryFiles, unittest.case.TestCase

compression = 0
class test.test_zipfile.StoredTestsWithSourceFile(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractTestsWithSourceFile, unittest.case.TestCase

compression = 0
test_absolute_arcnames()[source]
test_add_file_before_1980()[source]
test_append_to_non_zip_file()[source]

Test appending to an existing file that is not a zipfile.

test_append_to_zip_file()[source]

Test appending to an existing zipfile.

test_ignores_newline_at_end()[source]
test_ignores_stuff_appended_past_comments()[source]
test_low_compression = None
test_write_default_name()[source]

Check that calling ZipFile.write without arcname specified produces the expected result.

test_write_to_readonly()[source]

Check that trying to call write() on a readonly ZipFile object raises a RuntimeError.

test_writestr_permissions()[source]
zip_test_writestr_permissions(f, compression)[source]
class test.test_zipfile.StoredUniversalNewlineTests(methodName='runTest')[source]

Bases: test.test_zipfile.AbstractUniversalNewlineTests, unittest.case.TestCase

compression = 0
class test.test_zipfile.TestWithDirectory(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_bug_6050()[source]
test_extract_dir()[source]
test_store_dir()[source]
class test.test_zipfile.TestsWithMultipleOpens(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_different_file()[source]
test_interleaved()[source]
test_same_file()[source]
test.test_zipfile.get_files(test)[source]
test.test_zipfile.getrandbits(k) → x. Generates an int with k random bits.
test.test_zipfile.openU(zipfp, fn)[source]
test.test_zipfile.random() → x in the interval [0, 1).

test.test_zipfile64 module

class test.test_zipfile64.OtherTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

tearDown()[source]
testMoreThan64kFiles()[source]
class test.test_zipfile64.TestsWithSourceFile(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
testDeflated()[source]
testStored()[source]
zipTest(f, compression)[source]
test.test_zipfile64.test_main()[source]

test.test_zipimport module

class test.test_zipimport.BadFileZipImportTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertZipFailure(filename)[source]
testBadArgs()[source]
testEmptyFile()[source]
testEmptyFilename()[source]
testFileUnreadable()[source]
testFilenameTooLong()[source]
testNoFile()[source]
testNotZipFile()[source]
class test.test_zipimport.CompressedZipImportTestCase(methodName='runTest')[source]

Bases: test.test_zipimport.UncompressedZipImportTestCase

compression = 8
class test.test_zipimport.ImportHooksBaseTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
class test.test_zipimport.UncompressedZipImportTestCase(methodName='runTest')[source]

Bases: test.test_zipimport.ImportHooksBaseTestCase

assertModuleSource(module)[source]
compression = 0
doDoctestFile(module)[source]
doDoctestSuite(module)[source]
doTest(expected_ext, files, *modules, **kw)[source]
doTraceback(module)[source]
runDoctest(callback)[source]
setUp()[source]
testAFakeZlib()[source]
testBadMTime()[source]
testBadMagic()[source]
testBadMagic2()[source]
testBoth()[source]
testDeepPackage()[source]
testDoctestFile()[source]
testDoctestSuite()[source]
testEmptyPy()[source]
testGetCompiledSource()[source]
testGetData()[source]
testGetSource()[source]
testImport_WithStuff()[source]
testImporterAttr()[source]
testPackage()[source]
testPy()[source]
testPyc()[source]
testTraceback()[source]
testUnencodable()[source]
testZipImporterMethods()[source]
testZipImporterMethodsInSubDirectory()[source]
test.test_zipimport.make_pyc(co, mtime, size)[source]
test.test_zipimport.module_path_to_dotted_name(path)[source]
test.test_zipimport.test_main()[source]

test.test_zipimport_support module

class test.test_zipimport_support.ZipSupportTests(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
tearDown()[source]
test_doctest_issue4197()[source]
test_doctest_main_issue4197()[source]
test_inspect_getsource_issue4223()[source]
test_pdb_issue4201()[source]
test.test_zipimport_support.test_main()[source]

test.test_zlib module

class test.test_zlib.BaseCompressTestCase[source]

Bases: object

check_big_compress_buffer(size, compress_func)[source]
check_big_decompress_buffer(size, decompress_func)[source]
class test.test_zlib.ChecksumBigBufferTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_big_buffer()
class test.test_zlib.ChecksumTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

assertEqual32(seen, expected)[source]
test_adler32empty()[source]
test_adler32start()[source]
test_crc32_adler32_unsigned()[source]
test_crc32empty()[source]
test_crc32start()[source]
test_penguins()[source]
test_same_as_binascii_crc32()[source]
class test.test_zlib.CompressObjectTestCase(methodName='runTest')[source]

Bases: test.test_zlib.BaseCompressTestCase, unittest.case.TestCase

test_badcompresscopy()[source]
test_baddecompresscopy()[source]
test_big_compress_buffer()
test_big_decompress_buffer()
test_clear_unconsumed_tail()[source]
test_compresscopy()[source]
test_compressincremental()[source]
test_compressoptions()[source]
test_decompimax(source=None, cx=256, dcx=64)[source]
test_decompinc(flush=False, source=None, cx=256, dcx=64)[source]
test_decompincflush()[source]
test_decompress_eof()[source]
test_decompress_eof_incomplete_stream()[source]
test_decompress_incomplete_stream()[source]
test_decompress_unused_data()[source]
test_decompresscopy()[source]
test_decompressmaxlen(flush=False)[source]
test_decompressmaxlenflush()[source]
test_dictionary()[source]
test_dictionary_streaming()[source]
test_empty_flush()[source]
test_flush_with_freed_input()[source]
test_flushes()[source]
test_length_overflow()
test_maxlenmisc()[source]
test_odd_flush()[source]
test_pair()[source]
class test.test_zlib.CompressTestCase(methodName='runTest')[source]

Bases: test.test_zlib.BaseCompressTestCase, unittest.case.TestCase

test_big_compress_buffer()
test_big_decompress_buffer()
test_incomplete_stream()[source]
test_length_overflow()
test_speech()[source]
test_speech128()[source]
class test.test_zlib.ExceptionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_badargs()[source]
test_badcompressobj()[source]
test_baddecompressobj()[source]
test_badlevel()[source]
test_decompressobj_badflush()[source]
class test.test_zlib.VersionTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_library_version()[source]
test.test_zlib.choose_lines(source, number, seed=None, generator=<module 'random' from 'C:\\Python34\\lib\\random.py'>)[source]

Return a list of number lines randomly chosen from the source

test.test_zlib.genblock(seed, length, step=1024, generator=<module 'random' from 'C:\\Python34\\lib\\random.py'>)[source]

length-byte stream of random data from a seed (in step-byte blocks).

test.test_zlib.test_main()[source]

test.testcodec module

Test Codecs (used by test_charmapcodec)

Written by Marc-Andre Lemburg (mal@lemburg.com).

  1. Copyright 2000 Guido van Rossum.
class test.testcodec.Codec[source]

Bases: codecs.Codec

decode(input, errors='strict')[source]
encode(input, errors='strict')[source]
class test.testcodec.StreamReader(stream, errors='strict')[source]

Bases: test.testcodec.Codec, codecs.StreamReader

class test.testcodec.StreamWriter(stream, errors='strict')[source]

Bases: test.testcodec.Codec, codecs.StreamWriter

test.testcodec.getregentry()[source]

test.tf_inherit_check module

test.threaded_import_hangers module

class test.threaded_import_hangers.Worker(function, args)[source]

Bases: threading.Thread

run()[source]

test.time_hashlib module

test.warning_tests module

test.warning_tests.inner(message, stacklevel=1)[source]
test.warning_tests.outer(message, stacklevel=1)[source]

test.win_console_handler module

Script used to test os.kill on Windows, for issue #1220212

This script is started as a subprocess in test_os and is used to test the CTRL_C_EVENT and CTRL_BREAK_EVENT signals, which requires a custom handler to be written into the kill target.

See http://msdn.microsoft.com/en-us/library/ms685049%28v=VS.85%29.aspx for a similar example in C.

test.xmltests module

test.xmltests.runtest(name)[source]

Module contents